12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifdef GAME_TEMPLATE
- enum InputTrigger
- {
- UP, ///< call listener when button/key is released
- DOWN, ///< call listener when button/key is pressed
- PRESSED, ///< call listener in each tick when button/key is pressed
- VALUE ///< call listener in each tick with current value
- };
- class ActionManager
- {
- void ActionManager(ActionManager parent);
- proto native external bool RegisterAction(string actionName);
- proto native external bool RegisterContext(string contextName);
-
- proto native external float LocalValue(string actionName);
- proto native external bool GetActionTriggered(string actionName);
-
- proto native external bool ActivateAction(string actionName, int duration = 0);
- proto native external bool IsActionActive(string actionName);
-
- proto native external bool ActivateContext(string contextName, int duration = 0);
- proto native external bool IsContextActive(string contextName);
-
- proto external void AddActionListener(string actionName, InputTrigger trigger, func callback);
-
- proto native external void SetContextDebug(string contextName, bool bDebug);
-
- proto native void SetParent(ActionManager parent);
- proto native void SetDebug(bool bDebug);
- };
- class InputManager: ActionManager
- {
- private void InputManager(ActionManager parent) {};
- private void ~InputManager() {};
-
- proto native external void ResetAction(string actionName);
- proto native void SetCursorPosition(int x, int y);
- proto native external bool RegisterActionManager(ActionManager pManager);
- proto native external bool UnregisterActionManager(ActionManager pManager);
- };
- #endif
|