Files
Fishing2/Assets/Scripts/Model/Utils/CameraUtils.cs
2025-08-29 09:11:08 +08:00

38 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.Rendering.Universal;
namespace NBF
{
public static class CameraUtils
{
public static void SetOverlay(Camera camera, CameraRenderType cameraRenderType = CameraRenderType.Overlay)
{
var stageCameraData = camera.GetUniversalAdditionalCameraData();
if (stageCameraData != null)
{
stageCameraData.renderType = cameraRenderType;
}
}
public static void AddStack(this Camera camera, Camera overlayCamera)
{
var MainCameraData = camera.GetUniversalAdditionalCameraData();
if (!MainCameraData.cameraStack.Contains(overlayCamera)) // 防止重复添加
{
SetOverlay(overlayCamera);
MainCameraData.cameraStack.Add(overlayCamera);
}
}
public static void RemoveStack(this Camera camera, Camera overlayCamera)
{
var MainCameraData = camera.GetUniversalAdditionalCameraData();
if (MainCameraData.cameraStack.Contains(overlayCamera))
{
MainCameraData.cameraStack.Remove(overlayCamera);
SetOverlay(overlayCamera, CameraRenderType.Base);
}
}
}
}