playtest-unity/playtest/Library/PackageCache/com.unity.collab-proxy@2.0.4/Editor/PlasticSCM/UI/UnityEvents.cs

75 lines
1.8 KiB
C#

using UnityEngine;
using Codice.Utils;
namespace Unity.PlasticSCM.Editor.UI
{
internal static class Keyboard
{
internal static bool IsShiftPressed(Event e)
{
if (e == null)
return false;
return e.type == EventType.KeyDown
&& e.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.command;
return e.type == EventType.KeyDown && e.control;
}
}
internal class Mouse
{
internal static bool IsLeftMouseButtonPressed(Event e)
{
if (e == null)
return false;
if (!e.isMouse)
return false;
return e.button == UnityConstants.LEFT_MOUSE_BUTTON
&& e.type == EventType.MouseDown;
}
internal static bool IsRightMouseButtonPressed(Event e)
{
if (e == null)
return false;
if (!e.isMouse)
return false;
return e.button == UnityConstants.RIGHT_MOUSE_BUTTON
&& e.type == EventType.MouseDown;
}
}
}