forked from BilalY/Rasagar
58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
namespace UnityEngine.Rendering.Universal
|
|
{
|
|
class DebugDisplaySettingsCommon : IDebugDisplaySettingsData
|
|
{
|
|
[DisplayInfo(name = "Frequently Used", order = -1)]
|
|
private class SettingsPanel : DebugDisplaySettingsPanel
|
|
{
|
|
const string k_GoToSectionString = "Go to Section...";
|
|
|
|
public override DebugUI.Flags Flags => DebugUI.Flags.FrequentlyUsed;
|
|
|
|
public SettingsPanel()
|
|
{
|
|
AddWidget(new DebugUI.RuntimeDebugShadersMessageBox());
|
|
|
|
foreach (var widget in DebugManager.instance.GetItems(DebugUI.Flags.FrequentlyUsed))
|
|
{
|
|
if (widget is DebugUI.Foldout foldout)
|
|
{
|
|
if (foldout.contextMenuItems == null)
|
|
foldout.contextMenuItems = new();
|
|
|
|
foldout.contextMenuItems.Add(new DebugUI.Foldout.ContextMenuItem
|
|
{
|
|
displayName = k_GoToSectionString,
|
|
action = () =>
|
|
{
|
|
var debugManger = DebugManager.instance;
|
|
var panelIndex = debugManger.PanelIndex(foldout.panel.displayName);
|
|
if (panelIndex >= 0)
|
|
DebugManager.instance.RequestEditorWindowPanelIndex(panelIndex);
|
|
}
|
|
});
|
|
}
|
|
|
|
AddWidget(widget);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
#region IDebugDisplaySettingsData
|
|
|
|
// All common settings are owned by another panel, so they are treated as inactive here.
|
|
|
|
/// <inheritdoc/>
|
|
public bool AreAnySettingsActive => false;
|
|
|
|
/// <inheritdoc/>
|
|
public IDebugDisplaySettingsPanelDisposable CreatePanel()
|
|
{
|
|
return new SettingsPanel();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|