You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.3 KiB
129 lines
4.3 KiB
using NUnit.Framework;
|
|
using UnityEngine.Rendering;
|
|
|
|
namespace UnityEditor.Rendering.Tests
|
|
{
|
|
partial class RenderingDebuggerTests
|
|
{
|
|
/// <summary>
|
|
/// Class for the rendering debugger settings.
|
|
/// </summary>
|
|
public class TestDebugDisplaySettings : DebugDisplaySettings<TestDebugDisplaySettings>
|
|
{
|
|
public abstract class TestDebugDisplaySettingsData : IDebugDisplaySettingsData
|
|
{
|
|
#region IDebugDisplaySettingsData
|
|
|
|
/// <inheritdoc/>
|
|
public bool AreAnySettingsActive => false;
|
|
|
|
/// <inheritdoc/>
|
|
public bool IsPostProcessingAllowed => true;
|
|
|
|
/// <inheritdoc/>
|
|
public bool IsLightingActive => true;
|
|
|
|
public abstract IDebugDisplaySettingsPanelDisposable CreatePanel();
|
|
public bool TryGetScreenClearColor(ref UnityEngine.Color _) => false;
|
|
|
|
#endregion
|
|
}
|
|
|
|
class Test1Panel : TestDebugDisplaySettingsData
|
|
{
|
|
[DisplayInfo(name = "Test 1", order = 1)]
|
|
private class StatsPanel : DebugDisplaySettingsPanel
|
|
{
|
|
public override DebugUI.Flags Flags => DebugUI.Flags.RuntimeOnly;
|
|
|
|
public StatsPanel()
|
|
{
|
|
AddWidget(new DebugUI.BoolField() { displayName = "element", flags = DebugUI.Flags.FrequentlyUsed });
|
|
}
|
|
}
|
|
|
|
/// <inheritdoc/>
|
|
public override IDebugDisplaySettingsPanelDisposable CreatePanel()
|
|
{
|
|
return new StatsPanel();
|
|
}
|
|
}
|
|
|
|
class Test2Panel : TestDebugDisplaySettingsData
|
|
{
|
|
[DisplayInfo(name = "Test 2", order = 2)]
|
|
private class StatsPanel : DebugDisplaySettingsPanel
|
|
{
|
|
public override DebugUI.Flags Flags => DebugUI.Flags.RuntimeOnly;
|
|
|
|
public StatsPanel()
|
|
{
|
|
AddWidget(new DebugUI.BoolField() { displayName = "element", flags = DebugUI.Flags.FrequentlyUsed });
|
|
}
|
|
}
|
|
|
|
/// <inheritdoc/>
|
|
public override IDebugDisplaySettingsPanelDisposable CreatePanel()
|
|
{
|
|
return new StatsPanel();
|
|
}
|
|
}
|
|
|
|
class Test3Panel : TestDebugDisplaySettingsData
|
|
{
|
|
[DisplayInfo(name = "Test 3", order = 3)]
|
|
private class StatsPanel : DebugDisplaySettingsPanel
|
|
{
|
|
public override DebugUI.Flags Flags => DebugUI.Flags.RuntimeOnly;
|
|
|
|
public StatsPanel()
|
|
{
|
|
AddWidget(new DebugUI.BoolField() { displayName = "element", flags = DebugUI.Flags.FrequentlyUsed });
|
|
}
|
|
}
|
|
|
|
/// <inheritdoc/>
|
|
public override IDebugDisplaySettingsPanelDisposable CreatePanel()
|
|
{
|
|
return new StatsPanel();
|
|
}
|
|
}
|
|
|
|
|
|
public TestDebugDisplaySettings()
|
|
{
|
|
Reset();
|
|
}
|
|
|
|
/// <inheritdoc/>
|
|
public override void Reset()
|
|
{
|
|
m_Settings.Clear();
|
|
|
|
// Add them in an unsorted way
|
|
Add(new Test3Panel());
|
|
Add(new Test1Panel());
|
|
Add(new Test2Panel());
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void TestOrderAndPanelName()
|
|
{
|
|
var debugDisplaySettingsUI = new DebugDisplaySettingsUI();
|
|
debugDisplaySettingsUI.RegisterDebug(TestDebugDisplaySettings.Instance);
|
|
|
|
var panelTest1Index = DebugManager.instance.PanelIndex("Test 1");
|
|
Assert.IsTrue(panelTest1Index >= 0);
|
|
var panelTest2Index = DebugManager.instance.PanelIndex("Test 2");
|
|
Assert.IsTrue(panelTest2Index >= 0);
|
|
var panelTest3Index = DebugManager.instance.PanelIndex("Test 3");
|
|
Assert.IsTrue(panelTest3Index >= 0);
|
|
|
|
Assert.True(panelTest1Index < panelTest2Index);
|
|
Assert.True(panelTest2Index < panelTest3Index);
|
|
|
|
debugDisplaySettingsUI.UnregisterDebug();
|
|
}
|
|
}
|
|
}
|