BsScriptVirtualInput.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsInputConfiguration.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptVirtualInput : public ScriptObject<ScriptVirtualInput>
  8. {
  9. public:
  10. SCRIPT_OBJ(BansheeEngineAssemblyName, "BansheeEngine", "VirtualInput")
  11. static void startUp();
  12. static void shutDown();
  13. private:
  14. static void onButtonDown(const VirtualButton& btn, UINT32 deviceIdx);
  15. static void onButtonUp(const VirtualButton& btn, UINT32 deviceIdx);
  16. static void onButtonHeld(const VirtualButton& btn, UINT32 deviceIdx);
  17. static MonoObject* internal_getKeyConfig();
  18. static void internal_setKeyConfig(MonoObject* keyConfig);
  19. static bool internal_isButtonHeld(VirtualButton btn, UINT32 deviceIdx);
  20. static bool internal_isButtonDown(VirtualButton btn, UINT32 deviceIdx);
  21. static bool internal_isButtonUp(VirtualButton btn, UINT32 deviceIdx);
  22. static float internal_getAxisValue(VirtualAxis axis, UINT32 deviceIdx);
  23. typedef void(__stdcall *OnButtonEventThunkDef) (MonoObject*, UINT32, MonoException**);
  24. static OnButtonEventThunkDef OnButtonUpThunk;
  25. static OnButtonEventThunkDef OnButtonDownThunk;
  26. static OnButtonEventThunkDef OnButtonHeldThunk;
  27. static HEvent OnButtonPressedConn;
  28. static HEvent OnButtonReleasedConn;
  29. static HEvent OnButtonHeldConn;
  30. ScriptVirtualInput(MonoObject* instance);
  31. };
  32. }