using Unity.Cinemachine; using UnityEngine; namespace DDD { public class CameraGameObject : MonoBehaviour { [field: SerializeField] public CameraType CameraType { get; private set; } private CinemachineCamera _cinemachineCamera; private void Awake() { _cinemachineCamera = GetComponent(); } private void Start() { CameraManager.Instance.RegisterCamera(this); } private void OnDestroy() { if (CameraManager.Instance) { CameraManager.Instance.UnRegisterCamera(this); } } public int GetPriority() => _cinemachineCamera.Priority; public void SetPriority(int newPriority) => _cinemachineCamera.Priority = newPriority; public void SetFollowTarget(Transform target) => _cinemachineCamera.Follow = target; public void SetLookAtTarget(Transform target) => _cinemachineCamera.LookAt = target; public void SetFollowAndLookAtTarget(Transform target) { SetFollowTarget(target); SetLookAtTarget(target); } } }