module-navigation-tool/Editor/Toolbar/Tools/ToolUILayerToggle.cs

41 lines
1.1 KiB
C#

using JetBrains.Annotations;
using UnityEditor;
using UnityEngine;
using UTools = UnityEditor.Tools;
namespace Game.NavigationTool.Editor.Tools
{
[UsedImplicitly]
internal sealed class ToolUILayerToggle : AbstractToolbarDrawer
{
public override bool Enabled => true;
public override EToolbarPlacement Placement => EToolbarPlacement.Left;
protected override void Draw(Rect rect)
{
int layer = 1 << LayerMask.NameToLayer("UI");
bool value = (UTools.visibleLayers & layer) != 0;
bool temp = EditorGUI.Toggle(rect, value, styles.button);
GUI.Label(rect, "UI", styles.labelCenter);
if (temp == value)
return;
if (temp)
{
UTools.visibleLayers |= layer;
SceneView.RepaintAll();
}
else
{
UTools.visibleLayers &= ~layer;
SceneView.RepaintAll();
}
}
public override float CalculateWidth()
{
return 30.0f;
}
}
}