Files

39 lines
1.0 KiB
C#

using Cinemachine;
using UnityEngine;
namespace AibisDream.Framework
{
[RequireComponent(typeof(CinemachineVirtualCamera))]
public class VirtualCamRegistry : MonoBehaviour
{
[SerializeField] private CameraEnum cameraType;
private void Awake()
{
if (cameraType == CameraEnum.Default)
{
Debug.LogWarning($"[{nameof(VirtualCamRegistry)}] cameraType 不能为 Default,请在 Inspector 配置。", this);
return;
}
if (!TryGetComponent<ICinemachineCamera>(out var virtualCam))
{
Debug.LogWarning($"[{nameof(VirtualCamRegistry)}] 未找到 ICinemachineCamera 组件。", this);
return;
}
CameraKit.Instance.RegisterCamera(cameraType, virtualCam);
}
private void OnDestroy()
{
if (cameraType == CameraEnum.Default)
{
return;
}
CameraKit.Instance?.UnRegisterCamera(cameraType);
}
}
}