121 lines
3.2 KiB
C#
121 lines
3.2 KiB
C#
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
using Codice.Utils;
|
||
|
|
|
||
|
|
namespace Unity.PlasticSCM.Editor.UI
|
||
|
|
{
|
||
|
|
internal static class Keyboard
|
||
|
|
{
|
||
|
|
internal static bool IsTabPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return IsKeyPressed(e, KeyCode.Tab);
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsShiftPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return e.type == EventType.KeyDown
|
||
|
|
&& e.modifiers == EventModifiers.Shift;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool HasShiftModifier(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return (e.modifiers & EventModifiers.Shift) == EventModifiers.Shift;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsReturnOrEnterKeyPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return IsKeyPressed(e, KeyCode.Return) ||
|
||
|
|
IsKeyPressed(e, KeyCode.KeypadEnter);
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsKeyPressed(Event e, KeyCode keyCode)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return e.type == EventType.KeyDown
|
||
|
|
&& e.keyCode == keyCode;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsControlOrCommandKeyPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
if (PlatformIdentifier.IsMac())
|
||
|
|
return e.type == EventType.KeyDown && e.modifiers == EventModifiers.Command;
|
||
|
|
|
||
|
|
return e.type == EventType.KeyDown && e.modifiers == EventModifiers.Control;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool HasControlOrCommandModifier(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
if (PlatformIdentifier.IsMac())
|
||
|
|
return (e.modifiers & EventModifiers.Command) == EventModifiers.Command;
|
||
|
|
|
||
|
|
return (e.modifiers & EventModifiers.Control) == EventModifiers.Control;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsControlOrCommandAndShiftKeyPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
if (PlatformIdentifier.IsMac())
|
||
|
|
return e.type == EventType.KeyDown &&
|
||
|
|
e.modifiers == (EventModifiers.Command | EventModifiers.Shift);
|
||
|
|
|
||
|
|
return e.type == EventType.KeyDown &&
|
||
|
|
e.modifiers == (EventModifiers.Control | EventModifiers.Shift);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
internal class Mouse
|
||
|
|
{
|
||
|
|
internal static bool IsLeftMouseButtonDoubleClicked(Event e)
|
||
|
|
{
|
||
|
|
return IsLeftMouseButtonPressed(e)
|
||
|
|
&& e.clickCount == 2;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsLeftMouseButtonPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
if (!e.isMouse)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return e.type == EventType.MouseDown
|
||
|
|
&& e.button == UnityConstants.LEFT_MOUSE_BUTTON;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static bool IsRightMouseButtonPressed(Event e)
|
||
|
|
{
|
||
|
|
if (e == null)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
if (!e.isMouse)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return e.type == EventType.MouseDown
|
||
|
|
&& e.button == UnityConstants.RIGHT_MOUSE_BUTTON;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|