LuaEnvironment.h 905 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "lua.hpp"
  3. #include "Types.h"
  4. namespace crown
  5. {
  6. class LuaEnvironment
  7. {
  8. public:
  9. /// Constructor
  10. LuaEnvironment(lua_State* L);
  11. /// Load a function to proper module
  12. void load_module_function(const char* module, const char* name, const lua_CFunction func);
  13. /// Create library based on each module which will be opened by luaopen_*
  14. void create_module_library();
  15. private:
  16. lua_State* m_state;
  17. };
  18. void load_vec2(LuaEnvironment& env);
  19. void load_vec3(LuaEnvironment& env);
  20. void load_mat4(LuaEnvironment& env);
  21. void load_quat(LuaEnvironment& env);
  22. void load_math(LuaEnvironment& env);
  23. void load_mouse(LuaEnvironment& env);
  24. void load_keyboard(LuaEnvironment& env);
  25. void load_touch(LuaEnvironment& env);
  26. void load_accelerometer(LuaEnvironment& env);
  27. void load_camera(LuaEnvironment& env);
  28. extern "C"
  29. {
  30. int32_t luaopen_libcrownlua(lua_State* L);
  31. }
  32. } // namespace crown