using Sirenix.OdinInspector; using Unity.Cinemachine; using UnityEngine; namespace BlueWater { public class CombatCameraManager : Singleton { // Components #region Components [Title("카메라")] [SerializeField] private Transform _cinemachineCameras; [field: SerializeField] public CinemachineCamera BaseCombatCamera { get; private set; } public Camera MainCamera { get; private set; } public Camera UiCamera { get; private set; } #endregion // Unity events #region Unity events protected override void OnAwake() { Initialize(); } private void Start() { if (!GameManager.Instance) return; GameManager.Instance.OnInstantiatePlayer += SetFollow; } private void OnDestroy() { if (!GameManager.Instance) return; GameManager.Instance.OnInstantiatePlayer -= SetFollow; } #endregion // Initialize methods #region Initialize methods private void Initialize() { _cinemachineCameras = GameObject.Find("CinemachineCameras").transform; BaseCombatCamera = _cinemachineCameras.Find("BaseCombatCamera").GetComponent(); BaseCombatCamera.Priority = 1; MainCamera = GetComponent(); UiCamera = MainCamera.transform.Find("UiCamera").GetComponent(); } #endregion // Methods #region Methods public void SetFollow(Transform target) { BaseCombatCamera.Follow = target; } // public void SetFollowAndLookAt(Transform target) // { // BaseCombatCamera.Follow = target; // BaseCombatCamera.LookAt = target; // } #endregion } }