A game about forced loneliness, made by TACStudios
at master 71 lines 2.2 kB view raw
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}