Просмотр исходного кода

Add very very basic lua binding for Device in order to properly shutdown the engine

Daniele Bartolini 12 лет назад
Родитель
Сommit
40720d604e
4 измененных файлов с 33 добавлено и 0 удалено
  1. 2 0
      lua/CMakeLists.txt
  2. 27 0
      lua/DeviceBinds.cpp
  3. 2 0
      lua/LuaEnvironment.cpp
  4. 2 0
      lua/LuaEnvironment.h

+ 2 - 0
lua/CMakeLists.txt

@@ -14,6 +14,8 @@ set(LUA_SRC
 	MouseBinds.cpp
 	KeyboardBinds.cpp
 	AccelerometerBinds.cpp
+
+	DeviceBinds.cpp
 )
 
 set(LUA_HEADERS

+ 27 - 0
lua/DeviceBinds.cpp

@@ -0,0 +1,27 @@
+#include "Device.h"
+#include "LuaEnvironment.h"
+#include "LuaStack.h"
+
+namespace crown
+{
+
+extern "C"
+{
+
+//-----------------------------------------------------------------------------
+int32_t device_stop(lua_State* L)
+{
+	device()->stop();
+
+	return 0;
+}
+
+} // extern "C"
+
+//-----------------------------------------------------------------------------
+void load_device(LuaEnvironment& env)
+{
+	env.load_module_function("Device", "stop", device_stop);
+}
+
+} // namespace crown

+ 2 - 0
lua/LuaEnvironment.cpp

@@ -40,6 +40,8 @@ int32_t luaopen_libcrownlua(lua_State* L)
 	load_keyboard(env);
 	load_accelerometer(env);
 
+	load_device(env);
+
 	return 1;
 }
 

+ 2 - 0
lua/LuaEnvironment.h

@@ -35,6 +35,8 @@ void load_accelerometer(LuaEnvironment& env);
 
 void load_camera(LuaEnvironment& env);
 
+void load_device(LuaEnvironment& env);
+
 extern "C"
 {
 	int32_t luaopen_libcrownlua(lua_State* L);