NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Utils/CameraEx.cs

38 lines
1.5 KiB
C#
Raw Normal View History

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<CameraController>();
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<CameraController>();
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;
}
}
}