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.
55 lines
1.1 KiB
55 lines
1.1 KiB
using UnityEngine; |
|
using System.Collections; |
|
|
|
namespace Fungus |
|
{ |
|
[EventHandlerInfo("Input", |
|
"Key Pressed", |
|
"The block will execute when a key press event occurs.")] |
|
[AddComponentMenu("")] |
|
public class KeyPressed : EventHandler |
|
{ |
|
public enum KeyPressType |
|
{ |
|
KeyDown, // Execute once when the key is pressed down |
|
KeyUp, // Execute once when the key is released |
|
KeyRepeat // Execute once per frame when key is held down |
|
} |
|
|
|
[Tooltip("The type of keypress to activate on")] |
|
public KeyPressType keyPressType; |
|
|
|
[Tooltip("Keycode of the key to activate on")] |
|
public KeyCode keyCode; |
|
|
|
protected virtual void Update() |
|
{ |
|
switch (keyPressType) |
|
{ |
|
case KeyPressType.KeyDown: |
|
if (Input.GetKeyDown(keyCode)) |
|
{ |
|
ExecuteBlock(); |
|
} |
|
break; |
|
case KeyPressType.KeyUp: |
|
if (Input.GetKeyUp(keyCode)) |
|
{ |
|
ExecuteBlock(); |
|
} |
|
break; |
|
case KeyPressType.KeyRepeat: |
|
if (Input.GetKey(keyCode)) |
|
{ |
|
ExecuteBlock(); |
|
} |
|
break; |
|
} |
|
} |
|
|
|
public override string GetSummary() |
|
{ |
|
return keyCode.ToString(); |
|
} |
|
} |
|
} |