LuaEnvironment.h 945 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. void load_device(LuaEnvironment& env);
  29. extern "C"
  30. {
  31. int32_t luaopen_libcrownlua(lua_State* L);
  32. }
  33. } // namespace crown