PO/Library/PackageCache/com.unity.2d.animation@5.0.7/Editor/SkinningModule/IMGUI/UnselectTool.cs

34 lines
920 B
C#

using System;
using UnityEngine;
namespace UnityEditor.U2D.Animation
{
internal class UnselectTool<T>
{
private Unselector<T> m_Unselector = new Unselector<T>();
public ICacheUndo cacheUndo { get; set; }
public ISelection<T> selection
{
get { return m_Unselector.selection; }
set { m_Unselector.selection = value; }
}
public Action onUnselect = () => {};
public void OnGUI()
{
Debug.Assert(cacheUndo != null);
Debug.Assert(selection != null);
var e = Event.current;
if (selection.Count > 0 && e.type == EventType.MouseDown && e.button == 1 && !e.alt)
{
cacheUndo.BeginUndoOperation(TextContent.clearSelection);
m_Unselector.Select();
e.Use();
onUnselect.Invoke();
}
}
}
}