Rasagar/Library/PackageCache/com.unity.2d.sprite/Editor/Interface/IEvent.cs

100 lines
1.9 KiB
C#
Raw Normal View History

2024-08-26 13:07:20 -07:00
using UnityEngine;
using UnityEvent = UnityEngine.Event;
namespace UnityEditor.U2D.Sprites
{
internal interface IEvent
{
EventType type { get; }
string commandName { get; }
bool control { get; }
bool alt { get; }
bool shift { get; }
KeyCode keyCode { get; }
Vector2 mousePosition { get; }
int button { get; }
EventModifiers modifiers { get; }
EventType GetTypeForControl(int id);
void Use();
}
internal class Event : IEvent
{
UnityEvent m_Event;
public Event()
{
m_Event = UnityEvent.current;
}
public EventType type
{
get { return m_Event.type; }
}
public string commandName
{
get { return m_Event.commandName; }
}
public bool control
{
get { return m_Event.control; }
}
public bool alt
{
get { return m_Event.alt; }
}
public bool shift
{
get { return m_Event.shift; }
}
public KeyCode keyCode
{
get { return m_Event.keyCode; }
}
public Vector2 mousePosition
{
get { return m_Event.mousePosition; }
}
public int button
{
get { return m_Event.button; }
}
public void Use()
{
m_Event.Use();
}
public EventModifiers modifiers
{
get { return m_Event.modifiers; }
}
public EventType GetTypeForControl(int id)
{
return m_Event.GetTypeForControl(id);
}
}
internal interface IEventSystem
{
IEvent current { get; }
}
internal class EventSystem : IEventSystem
{
public IEvent current
{
get { return new Event(); }
}
}
}