Daniele Bartolini 10 лет назад
Родитель
Сommit
2f7cbd2a52
4 измененных файлов с 137 добавлено и 177 удалено
  1. 2 6
      src/lua/lua_environment.cpp
  2. 135 1
      src/lua/lua_input.cpp
  3. 0 87
      src/lua/lua_mouse.cpp
  4. 0 83
      src/lua/lua_touch.cpp

+ 2 - 6
src/lua/lua_environment.cpp

@@ -27,10 +27,8 @@ extern void load_device(LuaEnvironment& env);
 extern void load_float_setting(LuaEnvironment& env);
 extern void load_gui(LuaEnvironment& env);
 extern void load_int_setting(LuaEnvironment& env);
-extern void load_keyboard(LuaEnvironment& env);
 extern void load_math(LuaEnvironment& env);
 extern void load_matrix4x4(LuaEnvironment& env);
-extern void load_mouse(LuaEnvironment& env);
 extern void load_physics_world(LuaEnvironment& env);
 extern void load_quaternion(LuaEnvironment& env);
 extern void load_raycast(LuaEnvironment& env);
@@ -38,13 +36,13 @@ extern void load_resource_package(LuaEnvironment& env);
 extern void load_sound_world(LuaEnvironment& env);
 extern void load_sprite(LuaEnvironment& env);
 extern void load_string_setting(LuaEnvironment& env);
-extern void load_touch(LuaEnvironment& env);
 extern void load_unit(LuaEnvironment& env);
 extern void load_vector3(LuaEnvironment& env);
 extern void load_window(LuaEnvironment& env);
 extern void load_world(LuaEnvironment& env);
 extern void load_color4(LuaEnvironment& env);
 extern void load_material(LuaEnvironment& env);
+extern void load_input(LuaEnvironment& env);
 
 // When an error occurs, logs the error message and pauses the engine.
 static int error_handler(lua_State* L)
@@ -194,10 +192,8 @@ void LuaEnvironment::load_libs()
 	load_float_setting(*this);
 	load_gui(*this);
 	load_int_setting(*this);
-	load_keyboard(*this);
 	load_math(*this);
 	load_matrix4x4(*this);
-	load_mouse(*this);
 	load_physics_world(*this);
 	load_quaternion(*this);
 	load_raycast(*this);
@@ -205,13 +201,13 @@ void LuaEnvironment::load_libs()
 	load_sound_world(*this);
 	load_sprite(*this);
 	load_string_setting(*this);
-	load_touch(*this);
 	load_unit(*this);
 	load_vector3(*this);
 	load_window(*this);
 	load_world(*this);
 	load_color4(*this);
 	load_material(*this);
+	load_input(*this);
 
 	// Register custom loader
 	lua_getfield(L, LUA_GLOBALSINDEX, "package");

+ 135 - 1
src/lua/lua_keyboard.cpp → src/lua/lua_input.cpp

@@ -61,7 +61,119 @@ static int keyboard_any_released(lua_State* L)
 	return 1;
 }
 
-void load_keyboard(LuaEnvironment& env)
+static int mouse_name(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_string(device()->input_manager()->mouse()->name());
+	return 1;
+}
+
+static int mouse_num_buttons(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_uint32(device()->input_manager()->mouse()->num_buttons());
+	return 1;
+}
+
+static int mouse_num_axes(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_uint32(device()->input_manager()->mouse()->num_axes());
+	return 1;
+}
+
+static int mouse_pressed(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->mouse()->pressed((MouseButton::Enum) stack.get_int(1)));
+	return 1;
+}
+
+static int mouse_released(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->mouse()->released((MouseButton::Enum) stack.get_int(1)));
+	return 1;
+}
+
+static int mouse_any_pressed(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->mouse()->any_pressed());
+	return 1;
+}
+
+static int mouse_any_released(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->mouse()->any_released());
+	return 1;
+}
+
+static int mouse_axis(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_vector3(device()->input_manager()->mouse()->axis(stack.get_int(1)));
+	return 1;
+}
+
+static int touch_name(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_string(device()->input_manager()->touch()->name());
+	return 1;
+}
+
+static int touch_num_buttons(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_uint32(device()->input_manager()->touch()->num_buttons());
+	return 1;
+}
+
+static int touch_num_axes(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_uint32(device()->input_manager()->touch()->num_axes());
+	return 1;
+}
+
+static int touch_pressed(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->touch()->pressed(stack.get_int(1)));
+	return 1;
+}
+
+static int touch_released(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->touch()->released(stack.get_int(1)));
+	return 1;
+}
+
+static int touch_any_pressed(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->touch()->any_pressed());
+	return 1;
+}
+
+static int touch_any_released(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_bool(device()->input_manager()->touch()->any_released());
+	return 1;
+}
+
+static int touch_axis(lua_State* L)
+{
+	LuaStack stack(L);
+	stack.push_vector3(device()->input_manager()->touch()->axis(stack.get_int(1)));
+	return 1;
+}
+
+void load_input(LuaEnvironment& env)
 {
 	env.load_module_function("Keyboard", "name",         keyboard_name);
 	env.load_module_function("Keyboard", "num_buttons",  keyboard_num_buttons);
@@ -150,6 +262,28 @@ void load_keyboard(LuaEnvironment& env)
 	env.load_module_enum("Keyboard", "X",         KeyboardButton::X);
 	env.load_module_enum("Keyboard", "Y",         KeyboardButton::Y);
 	env.load_module_enum("Keyboard", "Z",         KeyboardButton::Z);
+
+	env.load_module_function("Mouse", "name",         mouse_name);
+	env.load_module_function("Mouse", "num_buttons",  mouse_num_buttons);
+	env.load_module_function("Mouse", "num_axes",     mouse_num_axes);
+	env.load_module_function("Mouse", "pressed",      mouse_pressed);
+	env.load_module_function("Mouse", "released",     mouse_released);
+	env.load_module_function("Mouse", "any_pressed",  mouse_any_pressed);
+	env.load_module_function("Mouse", "any_released", mouse_any_released);
+	env.load_module_function("Mouse", "axis",         mouse_axis);
+
+	env.load_module_enum("Mouse", "LEFT",   MouseButton::LEFT);
+	env.load_module_enum("Mouse", "MIDDLE", MouseButton::MIDDLE);
+	env.load_module_enum("Mouse", "RIGHT",  MouseButton::RIGHT);
+
+	env.load_module_function("Touch", "name",         touch_name);
+	env.load_module_function("Touch", "num_buttons",  touch_num_buttons);
+	env.load_module_function("Touch", "num_axes",     touch_num_axes);
+	env.load_module_function("Touch", "pressed",      touch_pressed);
+	env.load_module_function("Touch", "released",     touch_released);
+	env.load_module_function("Touch", "any_pressed",  touch_any_pressed);
+	env.load_module_function("Touch", "any_released", touch_any_released);
+	env.load_module_function("Touch", "axis",         touch_axis);
 }
 
 } // namespace crown

+ 0 - 87
src/lua/lua_mouse.cpp

@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2012-2015 Daniele Bartolini and individual contributors.
- * License: https://github.com/taylor001/crown/blob/master/LICENSE
- */
-
-#include "lua_stack.h"
-#include "lua_environment.h"
-#include "device.h"
-#include "input_manager.h"
-#include "input_device.h"
-
-namespace crown
-{
-
-static int mouse_name(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_string(device()->input_manager()->mouse()->name());
-	return 1;
-}
-
-static int mouse_num_buttons(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_uint32(device()->input_manager()->mouse()->num_buttons());
-	return 1;
-}
-
-static int mouse_num_axes(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_uint32(device()->input_manager()->mouse()->num_axes());
-	return 1;
-}
-
-static int mouse_pressed(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->mouse()->pressed((MouseButton::Enum) stack.get_int(1)));
-	return 1;
-}
-
-static int mouse_released(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->mouse()->released((MouseButton::Enum) stack.get_int(1)));
-	return 1;
-}
-
-static int mouse_any_pressed(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->mouse()->any_pressed());
-	return 1;
-}
-
-static int mouse_any_released(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->mouse()->any_released());
-	return 1;
-}
-
-static int mouse_axis(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_vector3(device()->input_manager()->mouse()->axis(stack.get_int(1)));
-	return 1;
-}
-
-void load_mouse(LuaEnvironment& env)
-{
-	env.load_module_function("Mouse", "name",         mouse_name);
-	env.load_module_function("Mouse", "num_buttons",  mouse_num_buttons);
-	env.load_module_function("Mouse", "num_axes",     mouse_num_axes);
-	env.load_module_function("Mouse", "pressed",      mouse_pressed);
-	env.load_module_function("Mouse", "released",     mouse_released);
-	env.load_module_function("Mouse", "any_pressed",  mouse_any_pressed);
-	env.load_module_function("Mouse", "any_released", mouse_any_released);
-	env.load_module_function("Mouse", "axis",         mouse_axis);
-
-	env.load_module_enum("Mouse", "LEFT",   MouseButton::LEFT);
-	env.load_module_enum("Mouse", "MIDDLE", MouseButton::MIDDLE);
-	env.load_module_enum("Mouse", "RIGHT",  MouseButton::RIGHT);
-}
-
-} // namespace crown

+ 0 - 83
src/lua/lua_touch.cpp

@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2012-2015 Daniele Bartolini and individual contributors.
- * License: https://github.com/taylor001/crown/blob/master/LICENSE
- */
-
-#include "lua_stack.h"
-#include "lua_environment.h"
-#include "device.h"
-#include "input_manager.h"
-#include "input_device.h"
-
-namespace crown
-{
-
-static int touch_name(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_string(device()->input_manager()->touch()->name());
-	return 1;
-}
-
-static int touch_num_buttons(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_uint32(device()->input_manager()->touch()->num_buttons());
-	return 1;
-}
-
-static int touch_num_axes(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_uint32(device()->input_manager()->touch()->num_axes());
-	return 1;
-}
-
-static int touch_pressed(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->touch()->pressed(stack.get_int(1)));
-	return 1;
-}
-
-static int touch_released(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->touch()->released(stack.get_int(1)));
-	return 1;
-}
-
-static int touch_any_pressed(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->touch()->any_pressed());
-	return 1;
-}
-
-static int touch_any_released(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_bool(device()->input_manager()->touch()->any_released());
-	return 1;
-}
-
-static int touch_axis(lua_State* L)
-{
-	LuaStack stack(L);
-	stack.push_vector3(device()->input_manager()->touch()->axis(stack.get_int(1)));
-	return 1;
-}
-
-void load_touch(LuaEnvironment& env)
-{
-	env.load_module_function("Touch", "name",         touch_name);
-	env.load_module_function("Touch", "num_buttons",  touch_num_buttons);
-	env.load_module_function("Touch", "num_axes",     touch_num_axes);
-	env.load_module_function("Touch", "pressed",      touch_pressed);
-	env.load_module_function("Touch", "released",     touch_released);
-	env.load_module_function("Touch", "any_pressed",  touch_any_pressed);
-	env.load_module_function("Touch", "any_released", touch_any_released);
-	env.load_module_function("Touch", "axis",         touch_axis);
-}
-
-} // namespace crown