This commit is contained in:
2025-06-11 21:59:36 +08:00
parent 65b5866565
commit 2784ae99df
3 changed files with 63 additions and 0 deletions
@@ -7,6 +7,7 @@ using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
using UnityEngine.Rendering.Universal;
using Yarn.Unity;
namespace AibisDream.Framework
@@ -65,6 +66,48 @@ namespace AibisDream.Framework
#region
public void RegisterUICamera(Camera overlayCamera)
{
// 获取 Main Camera 的 UniversalAdditionalCameraData
var mainCameraData = _orthoMainCamera.GetUniversalAdditionalCameraData();
if (mainCameraData != null)
{
// 检查 Overlay Camera 是否已经在 Stack 中
if (!mainCameraData.cameraStack.Contains(overlayCamera))
{
// 将 Overlay Camera 添加到 Stack
mainCameraData.cameraStack.Add(overlayCamera);
Debug.Log("Overlay Camera added to Main Camera stack.");
}
}
else
{
Debug.LogError("Main Camera does not have UniversalAdditionalCameraData.");
}
}
public void UnRegisterUICamera(Camera overlayCamera)
{
// 获取 Main Camera 的 UniversalAdditionalCameraData
var mainCameraData = _orthoMainCamera.GetUniversalAdditionalCameraData();
if (mainCameraData != null)
{
// 检查 Overlay Camera 是否已经在 Stack 中
if (!mainCameraData.cameraStack.Contains(overlayCamera))
{
// 将 Overlay Camera 添加到 Stack
mainCameraData.cameraStack.Remove(overlayCamera);
Debug.Log("Overlay Camera added to Main Camera stack.");
}
}
else
{
Debug.LogError("Main Camera does not have UniversalAdditionalCameraData.");
}
}
public void RegisterCamera(CameraEnum camType, ICinemachineCamera virtualCamera, bool isPerspective = false)
{
_virtualCameraDict[camType] = virtualCamera;
@@ -0,0 +1,17 @@
using UnityEngine;
namespace AibisDream.Framework
{
public class UICamera : MonoBehaviour
{
private void Awake()
{
CameraKit.Instance.RegisterUICamera(GetComponent<Camera>());
}
private void OnDestroy()
{
CameraKit.Instance.UnRegisterUICamera(GetComponent<Camera>());
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 061bb2d8e88b4f7c96c1a1b10e32d6eb
timeCreated: 1749649908