0.6.0: Added ui layer and canvas picker
This commit is contained in:
parent
27d7ecb2dd
commit
169d11a2dd
10 changed files with 206 additions and 11 deletions
47
Editor/Toolbar/Tools/ToolUILayerToggle.cs
Normal file
47
Editor/Toolbar/Tools/ToolUILayerToggle.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
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 => !EditorApplication.isPlayingOrWillChangePlaymode;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue