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(); } } }