34 lines
920 B
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|