12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using System;
- using System.Collections.Generic;
-
- namespace UnityEngine.Rendering
- {
- /// <summary>
- /// Display stats panel
- /// </summary>
- /// <typeparam name="TProfileId">Type of ProfileId the pipeline uses</typeparam>
- public class DebugDisplaySettingsStats<TProfileId> : IDebugDisplaySettingsData
- where TProfileId : Enum
- {
- /// <summary>Current display stats</summary>
- public DebugDisplayStats<TProfileId> debugDisplayStats { get; }
-
- /// <summary>
- /// Display stats panel constructor with settings
- /// </summary>
- /// <param name="debugDisplayStats">The debug display stats object that is used for configuring settings in the stats panel.</param>
- public DebugDisplaySettingsStats(DebugDisplayStats<TProfileId> debugDisplayStats)
- {
- this.debugDisplayStats = debugDisplayStats;
- }
-
- [DisplayInfo(name = "Display Stats", order = int.MinValue)]
- private class StatsPanel : DebugDisplaySettingsPanel
- {
- readonly DebugDisplaySettingsStats<TProfileId> m_Data;
-
- public override DebugUI.Flags Flags => DebugUI.Flags.RuntimeOnly;
-
- public StatsPanel(DebugDisplaySettingsStats<TProfileId> displaySettingsStats)
- {
- m_Data = displaySettingsStats;
-
- m_Data.debugDisplayStats.EnableProfilingRecorders();
-
- var list = new List<DebugUI.Widget>();
- m_Data.debugDisplayStats.RegisterDebugUI(list);
-
- foreach (var w in list)
- AddWidget(w);
- }
-
- public override void Dispose()
- {
- m_Data.debugDisplayStats.DisableProfilingRecorders();
- base.Dispose();
- }
- }
-
- /// <inheritdoc/>
- public bool AreAnySettingsActive => false;
-
- /// <inheritdoc/>
- public IDebugDisplaySettingsPanelDisposable CreatePanel()
- {
- return new StatsPanel(this);
- }
- }
- }
|