using Game.NavigationTool.Editor.Toolbar; using JetBrains.Annotations; using UnityEditor; using UnityEngine; using UTools = UnityEditor.Tools; namespace Game.NavigationTool.Editor.Tools { [UsedImplicitly] internal sealed class ToolUILayerToggle : IToolbarDrawer { public bool Visible => true; public bool Enabled => true; public EToolbarPlacement Placement => EToolbarPlacement.Left; public void Update() { } public void Draw(Rect rect, Styles styles) { 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 float CalculateWidth() { return 30.0f; } } }