A game about forced loneliness, made by TACStudios
1using System;
2using UnityEngine.Rendering.RenderGraphModule;
3using NameAndTooltip = UnityEngine.Rendering.DebugUI.Widget.NameAndTooltip;
4
5namespace UnityEngine.Rendering
6{
7 /// <summary>
8 /// Render Graph-related Rendering Debugger settings.
9 /// </summary>
10 class DebugDisplaySettingsRenderGraph : IDebugDisplaySettingsData
11 {
12 public DebugDisplaySettingsRenderGraph()
13 {
14 foreach (var graph in RenderGraph.GetRegisteredRenderGraphs())
15 {
16 graph.debugParams.Reset();
17 }
18 }
19
20 [DisplayInfo(name = "Render Graph", order = 10)]
21 private class SettingsPanel : DebugDisplaySettingsPanel
22 {
23 public override string PanelName => "Render Graph";
24 public SettingsPanel(DebugDisplaySettingsRenderGraph _)
25 {
26 bool usingRenderGraph = false;
27 foreach (var graph in RenderGraph.GetRegisteredRenderGraphs())
28 {
29 usingRenderGraph = true;
30 var list = graph.GetWidgetList();
31 foreach (var item in list)
32 AddWidget(item);
33 }
34
35 if (!usingRenderGraph)
36 {
37 AddWidget(new DebugUI.MessageBox()
38 {
39 displayName =
40 "Warning: The current render pipeline does not have Render Graphs Registered",
41 style = DebugUI.MessageBox.Style.Warning
42 });
43 }
44 }
45 }
46
47 #region IDebugDisplaySettingsQuery
48
49 /// <inheritdoc/>
50 IDebugDisplaySettingsPanelDisposable IDebugDisplaySettingsData.CreatePanel()
51 {
52 return new SettingsPanel(this);
53 }
54
55 public bool AreAnySettingsActive
56 {
57 get
58 {
59 foreach (var graph in RenderGraph.GetRegisteredRenderGraphs())
60 {
61 if (graph.areAnySettingsActive)
62 return true;
63 }
64
65 return false;
66 }
67 }
68
69 #endregion
70 }
71}