83 lines
3.5 KiB
C#
83 lines
3.5 KiB
C#
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Reflection;
|
||
|
|
||
|
namespace UnityEngine.Rendering
|
||
|
{
|
||
|
public abstract partial class VolumeDebugSettings<T>
|
||
|
{
|
||
|
static List<Type> s_ComponentTypes;
|
||
|
/// <summary>List of Volume component types.</summary>
|
||
|
[Obsolete("Please use volumeComponentsPathAndType instead, and get the second element of the tuple", false)]
|
||
|
public static List<Type> componentTypes
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (s_ComponentTypes == null)
|
||
|
{
|
||
|
s_ComponentTypes = VolumeManager.instance.baseComponentTypeArray
|
||
|
.Where(t => !t.IsDefined(typeof(HideInInspector), false))
|
||
|
.Where(t => !t.IsDefined(typeof(ObsoleteAttribute), false))
|
||
|
.OrderBy(t => ComponentDisplayName(t))
|
||
|
.ToList();
|
||
|
}
|
||
|
return s_ComponentTypes;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>Returns the name of a component from its VolumeComponentMenuForRenderPipeline.</summary>
|
||
|
/// <param name="component">A volume component.</param>
|
||
|
/// <returns>The component display name.</returns>
|
||
|
[Obsolete("Please use componentPathAndType instead, and get the first element of the tuple", false)]
|
||
|
public static string ComponentDisplayName(Type component)
|
||
|
{
|
||
|
if (component.GetCustomAttribute(typeof(VolumeComponentMenuForRenderPipeline), false) is VolumeComponentMenuForRenderPipeline volumeComponentMenuForRenderPipeline)
|
||
|
return volumeComponentMenuForRenderPipeline.menu;
|
||
|
|
||
|
if (component.GetCustomAttribute(typeof(VolumeComponentMenu), false) is VolumeComponentMenuForRenderPipeline volumeComponentMenu)
|
||
|
return volumeComponentMenu.menu;
|
||
|
|
||
|
return component.Name;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// The list of the additional camera datas
|
||
|
/// </summary>
|
||
|
[Obsolete("Cameras are auto registered/unregistered, use property cameras", false)]
|
||
|
protected static List<T> additionalCameraDatas { get; private set; } = new List<T>();
|
||
|
|
||
|
/// <summary>
|
||
|
/// Register the camera for the Volume Debug.
|
||
|
/// </summary>
|
||
|
/// <param name="additionalCamera">The AdditionalCameraData of the camera to be registered.</param>
|
||
|
[Obsolete("Cameras are auto registered/unregistered", false)]
|
||
|
public static void RegisterCamera(T additionalCamera)
|
||
|
{
|
||
|
if (!additionalCameraDatas.Contains(additionalCamera))
|
||
|
additionalCameraDatas.Add(additionalCamera);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Unregister the camera for the Volume Debug.
|
||
|
/// </summary>
|
||
|
/// <param name="additionalCamera">The AdditionalCameraData of the camera to be registered.</param>
|
||
|
[Obsolete("Cameras are auto registered/unregistered", false)]
|
||
|
public static void UnRegisterCamera(T additionalCamera)
|
||
|
{
|
||
|
if (additionalCameraDatas.Contains(additionalCamera))
|
||
|
additionalCameraDatas.Remove(additionalCamera);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public sealed partial class DebugManager
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Toggle the debug window.
|
||
|
/// </summary>
|
||
|
/// <param name="open">State of the debug window.</param>
|
||
|
[Obsolete("Use DebugManager.instance.displayEditorUI.open property instead. #from(23.1)")]
|
||
|
public void ToggleEditorUI(bool open) => editorUIState.open = open;
|
||
|
}
|
||
|
}
|