summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/Debug
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Scripting/Debug')
-rw-r--r--Runtime/Scripting/Debug/Debug.bind.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/Runtime/Scripting/Debug/Debug.bind.cpp b/Runtime/Scripting/Debug/Debug.bind.cpp
new file mode 100644
index 0000000..1785f01
--- /dev/null
+++ b/Runtime/Scripting/Debug/Debug.bind.cpp
@@ -0,0 +1,120 @@
+#include "Runtime/LuaBind/LuaBind.h"
+#include "Runtime/Debug/Log.h"
+
+int log(lua_State* L)
+{
+ LUA_BIND_STATE(L);
+ int n = state.GetTop();
+ if (n == 1)
+ {
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_info(msg);
+ }
+ else if (n == 2)
+ {
+ const char* tag = state.GetValue<const char*>(-2, "");
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_info(tag, msg);
+ }
+ else
+ {
+ log_error("Debug.Log()错误的参数个数");
+ }
+ return 0;
+}
+
+int logWwarning(lua_State* L)
+{
+ LUA_BIND_STATE(L);
+ int n = state.GetTop();
+ if (n == 1)
+ {
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_warning(msg);
+ }
+ else if (n == 2)
+ {
+ const char* tag = state.GetValue<const char*>(-2, "");
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_warning(tag, msg);
+ }
+ else
+ {
+ log_error("Debug.Log()错误的参数个数");
+ }
+ return 0;
+}
+
+int logError(lua_State* L)
+{
+ LUA_BIND_STATE(L);
+ int n = state.GetTop();
+ if (n == 1)
+ {
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_error(msg);
+ }
+ else if (n == 2)
+ {
+ const char* tag = state.GetValue<const char*>(-2, "");
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_error(tag, msg);
+ }
+ else
+ {
+ log_error("Debug.Log()错误的参数个数");
+ }
+ return 0;
+}
+
+int logEditor(lua_State* L)
+{
+#ifdef GAMELAB_EDITOR
+ LUA_BIND_STATE(L);
+ int n = state.GetTop();
+ if (n == 1)
+ {
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_info(msg);
+ }
+ else if (n == 2)
+ {
+ const char* tag = state.GetValue<const char*>(-2, "");
+ const char* msg = state.GetValue<const char*>(-1, "");
+ log_info(tag, msg);
+ }
+ else
+ {
+ log_error("Debug.Log()错误的参数个数");
+ }
+ return 0;
+#endif
+}
+
+int openTag(lua_State* L)
+{
+ LUA_BIND_STATE(L);
+ const char* tag = state.GetValue<const char*>(-1, "");
+ log_open_tag(tag);
+ return 0;
+}
+
+int luaopen_GameLab_Debug(lua_State* L)
+{
+ log_info("Scripting", "luaopen_GameLab_Debug()");
+
+ LUA_BIND_STATE(L);
+
+ state.PushGlobalNamespace();
+ state.PushNamespace("GameLab");
+ state.PushNamespace("Debug");
+
+ state.RegisterMethod("Log", log);
+ state.RegisterMethod("LogWarning", logWwarning);
+ state.RegisterMethod("LogError", logError);
+ state.RegisterMethod("LogEditor", logEditor);
+
+ state.RegisterMethod("OpenTag", openTag);
+
+ return 1;
+} \ No newline at end of file