GenericEvents.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * GenericEvents.cpp, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #include "StdInc.h"
  11. #include "GenericEvents.h"
  12. #include "../../LuaStack.h"
  13. #include "../../LuaCallWrapper.h"
  14. #include "../Registry.h"
  15. #include "SubscriptionRegistryProxy.h"
  16. namespace scripting
  17. {
  18. namespace api
  19. {
  20. namespace events
  21. {
  22. using ::events::GameResumed;
  23. using ::events::PlayerGotTurn;
  24. using ::events::TurnStarted;
  25. VCMI_REGISTER_SCRIPT_API(GameResumedProxy, "events.GameResumed");
  26. VCMI_REGISTER_SCRIPT_API(PlayerGotTurnProxy, "events.PlayerGotTurn");
  27. VCMI_REGISTER_SCRIPT_API(TurnStartedProxy, "events.TurnStarted");
  28. const std::vector<GameResumedProxy::CustomRegType> GameResumedProxy::REGISTER_CUSTOM =
  29. {
  30. {
  31. "subscribeBefore",
  32. &SubscriptionRegistryProxy<GameResumedProxy>::subscribeBefore,
  33. true
  34. },
  35. {
  36. "subscribeAfter",
  37. &SubscriptionRegistryProxy<GameResumedProxy>::subscribeAfter,
  38. true
  39. }
  40. };
  41. const std::vector<PlayerGotTurnProxy::CustomRegType> PlayerGotTurnProxy::REGISTER_CUSTOM =
  42. {
  43. {
  44. "subscribeBefore",
  45. &SubscriptionRegistryProxy<PlayerGotTurnProxy>::subscribeBefore,
  46. true
  47. },
  48. {
  49. "subscribeAfter",
  50. &SubscriptionRegistryProxy<PlayerGotTurnProxy>::subscribeAfter,
  51. true
  52. },
  53. {
  54. "getPlayer",
  55. LuaMethodWrapper<PlayerGotTurn, decltype(&PlayerGotTurn::getPlayerIndex), &PlayerGotTurn::getPlayerIndex>::invoke,
  56. false
  57. },
  58. {
  59. "setPlayer",
  60. LuaMethodWrapper<PlayerGotTurn, decltype(&PlayerGotTurn::setPlayerIndex), &PlayerGotTurn::setPlayerIndex>::invoke,
  61. false
  62. },
  63. };
  64. const std::vector<TurnStartedProxy::CustomRegType> TurnStartedProxy::REGISTER_CUSTOM =
  65. {
  66. {
  67. "subscribeBefore",
  68. &SubscriptionRegistryProxy<TurnStartedProxy>::subscribeBefore,
  69. true
  70. },
  71. {
  72. "subscribeAfter",
  73. &SubscriptionRegistryProxy<TurnStartedProxy>::subscribeAfter,
  74. true
  75. }
  76. };
  77. }
  78. }
  79. }