You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			150 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			150 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
| 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;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |