41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using Unity.Cinemachine;
|
|
using UnityEngine;
|
|
|
|
namespace DDD
|
|
{
|
|
public class CameraGameObject : MonoBehaviour
|
|
{
|
|
[field: SerializeField]
|
|
public string Id { 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);
|
|
}
|
|
}
|
|
} |