An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
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

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