using System.Collections.Generic; using Cinemachine; using Sirenix.OdinInspector; using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class CombatCamera : MonoBehaviour { [Title("초기화 방식")] [SerializeField] private bool autoInit = true; [field: Title("카메라")] [field: SerializeField] public CinemachineVirtualCamera BaseCombatCamera { get; private set; } private GameObject cinemachineCameras; private List cineCamList; private float originalRotation; private const int CINE_CAM_NUM = 1; private void Awake() { if (autoInit) { Init(); } CameraManager.Inst.CombatCamera = this; CameraManager.Inst.MainCam = Camera.main; } [Button("셋팅 초기화")] private void Init() { cinemachineCameras = GameObject.Find("CinemachineCameras"); if (!cinemachineCameras) { Debug.LogError("cineCams is null error"); return; } BaseCombatCamera = cinemachineCameras.transform.Find("BaseCombatCamera")?.GetComponent(); if (!BaseCombatCamera) { Debug.LogError("BaseShipCam is null error"); return; } cineCamList = new List(CINE_CAM_NUM) { BaseCombatCamera }; foreach (var cam in cineCamList) { cam.Priority = 0; } BaseCombatCamera.Priority = 1; CameraManager.Inst.MainCam = Camera.main; } public void SetFollowAndLookAt(Transform target) { BaseCombatCamera.Follow = target; //BaseCombatCamera.LookAt = target; } } }