You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
3.5 KiB
149 lines
3.5 KiB
using UnityEngine; |
|
|
|
namespace FairyGUI |
|
{ |
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public class InputEvent |
|
{ |
|
/// <summary> |
|
/// x position in stage coordinates. |
|
/// </summary> |
|
public float x { get; internal set; } |
|
|
|
/// <summary> |
|
/// y position in stage coordinates. |
|
/// </summary> |
|
public float y { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public KeyCode keyCode { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public char character { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public EventModifiers modifiers { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public float mouseWheelDelta { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public int touchId { get; internal set; } |
|
|
|
/// <summary> |
|
/// -1-none,0-left,1-right,2-middle |
|
/// </summary> |
|
public int button { get; internal set; } |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
/// <value></value> |
|
public int clickCount { get; internal set; } |
|
|
|
/// <summary> |
|
/// Duraion of holding the button. You can read this in touchEnd or click event. |
|
/// </summary> |
|
/// <value></value> |
|
public float holdTime { get; internal set; } |
|
|
|
public InputEvent() |
|
{ |
|
touchId = -1; |
|
x = 0; |
|
y = 0; |
|
clickCount = 0; |
|
keyCode = KeyCode.None; |
|
character = '\0'; |
|
modifiers = 0; |
|
mouseWheelDelta = 0; |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public Vector2 position |
|
{ |
|
get { return new Vector2(x, y); } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool isDoubleClick |
|
{ |
|
get { return clickCount > 1 && button == 0; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool ctrlOrCmd |
|
{ |
|
get |
|
{ |
|
return ctrl || command; |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool ctrl |
|
{ |
|
get |
|
{ |
|
return Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl); |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool shift |
|
{ |
|
get |
|
{ |
|
return Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool alt |
|
{ |
|
get |
|
{ |
|
return Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt); |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool command |
|
{ |
|
get |
|
{ |
|
//In win, as long as the win key and other keys are pressed at the same time, the getKey will continue to return true. So it can only be shielded. |
|
if (Application.platform == RuntimePlatform.OSXPlayer || Application.platform == RuntimePlatform.OSXEditor) |
|
return Input.GetKey(KeyCode.LeftCommand) || Input.GetKey(KeyCode.RightCommand); |
|
else |
|
return false; |
|
} |
|
} |
|
} |
|
}
|
|
|