ProjectDDD/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs

41 lines
1.2 KiB
C#
Raw Normal View History

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