Context.pkg 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. $#include "Audio.h"
  2. $#include "Console.h"
  3. $#include "Context.h"
  4. $#include "DebugHud.h"
  5. $#include "Engine.h"
  6. $#include "FileSystem.h"
  7. $#include "Graphics.h"
  8. $#include "Input.h"
  9. $#include "Log.h"
  10. $#include "Network.h"
  11. $#include "LuaScript.h"
  12. $#include "Renderer.h"
  13. $#include "ResourceCache.h"
  14. $#include "Timer.h"
  15. $#include "UI.h"
  16. class Context
  17. {
  18. Object* GetEventSender() const;
  19. EventHandler* GetEventHandler() const;
  20. const String GetTypeName(ShortStringHash type) const;
  21. };
  22. Context* GetContext();
  23. Object* GetEventSender();
  24. EventHandler* GetEventHandler() const;
  25. Audio* GetAudio();
  26. Console* GetConsole();
  27. DebugHud* GetDebugHud();
  28. Engine* GetEngine();
  29. FileSystem* GetFileSystem();
  30. Graphics* GetGraphics();
  31. Input* GetInput();
  32. Log* GetLog();
  33. Network* GetNetwork();
  34. Renderer* GetRenderer();
  35. ResourceCache* GetCache();
  36. Time* GetTime();
  37. UI* GetUI();
  38. ${
  39. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetContext00
  40. static int tolua_CoreLuaAPI_GetContext00(lua_State* tolua_S)
  41. {
  42. Context* tolua_ret = GetContext(tolua_S);
  43. tolua_pushusertype(tolua_S,(void*)tolua_ret,"Context");
  44. return 1;
  45. }
  46. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetEventSender00
  47. static int tolua_CoreLuaAPI_GetEventSender00(lua_State* tolua_S)
  48. {
  49. Object* tolua_ret = GetContext(tolua_S)->GetEventSender();
  50. tolua_pushusertype(tolua_S,(void*)tolua_ret,"Object");
  51. return 1;
  52. }
  53. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetEventHandler00
  54. static int tolua_CoreLuaAPI_GetEventHandler00(lua_State* tolua_S)
  55. {
  56. EventHandler* tolua_ret = GetContext(tolua_S)->GetEventHandler();
  57. tolua_pushusertype(tolua_S,(void*)tolua_ret,"EventHandler");
  58. return 1;
  59. }
  60. #define GET_SUBSYSTEM(subsystem) \
  61. static int tolua_CoreLuaAPI_Get ## subsystem ## 00(lua_State* tolua_S) \
  62. { \
  63. subsystem* tolua_ret = GetContext(tolua_S)->GetSubsystem<subsystem>(); \
  64. tolua_pushusertype(tolua_S,(void*)tolua_ret,#subsystem); \
  65. return 1; \
  66. }
  67. #define GET_SUBSYSTEM_RENAME(subsystem, newname) \
  68. static int tolua_CoreLuaAPI_Get ## newname ## 00(lua_State* tolua_S) \
  69. { \
  70. subsystem* tolua_ret = GetContext(tolua_S)->GetSubsystem<subsystem>(); \
  71. tolua_pushusertype(tolua_S,(void*)tolua_ret,#subsystem); \
  72. return 1; \
  73. }
  74. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetAudio00
  75. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetConsole00
  76. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetDebugHud00
  77. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetEngine00
  78. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetFileSystem00
  79. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetGraphics00
  80. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetInput00
  81. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetLog00
  82. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetNetwork00
  83. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetRenderer00
  84. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetCache00
  85. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetTime00
  86. #define TOLUA_DISABLE_tolua_CoreLuaAPI_GetUI00
  87. GET_SUBSYSTEM(Audio)
  88. GET_SUBSYSTEM(Console)
  89. GET_SUBSYSTEM(DebugHud)
  90. GET_SUBSYSTEM(Engine)
  91. GET_SUBSYSTEM(FileSystem)
  92. GET_SUBSYSTEM(Graphics)
  93. GET_SUBSYSTEM(Input)
  94. GET_SUBSYSTEM(Log)
  95. GET_SUBSYSTEM(Network)
  96. GET_SUBSYSTEM(Renderer)
  97. GET_SUBSYSTEM_RENAME(ResourceCache, Cache)
  98. GET_SUBSYSTEM(Time)
  99. GET_SUBSYSTEM(UI)
  100. $}