using PhxhSDK; using UnityEngine; namespace Code.Scripts.Gameplay.Utils { public static class CameraEx { public static float GetScaleProgress(this CameraManager cameraManager) { if (cameraManager == null) return 1; var camera = cameraManager.MainCamera; if (camera == null) return 1; var cameraController = camera.GetComponent(); if (cameraController == null) return 1; var orthographicSize = camera.orthographicSize; var minSize = cameraController.CameraMinSize; var maxSize = cameraController.CameraMaxSize; return (orthographicSize - minSize) / (maxSize - minSize); } public static float GetOutlineScale(this CameraManager cameraManager, float inDistance) { if (cameraManager == null) return 1; var camera = cameraManager.MainCamera; if (camera == null) return 1; var cameraController = camera.GetComponent(); if (cameraController == null) return 1; var orthographicSize = camera.orthographicSize; var minSize = cameraController.CameraMinSize; var maxSize = cameraController.CameraMaxSize; var progress = (orthographicSize - minSize) / (maxSize - minSize); var downScale = minSize / (float)maxSize; var upScale = 1f; var scale = Mathf.Lerp(upScale, downScale, progress); return scale; } } }