diff options
author | chai <chaifix@163.com> | 2021-10-18 21:02:31 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-10-18 21:02:31 +0800 |
commit | 83474a5ec3a25da9f66192f03f9b0628ad219404 (patch) | |
tree | 3aa95792cb987b07cecee6a2fb15fc636c902207 /Runtime/Scripting/Debug/Debug.bind.cpp | |
parent | 45328cbadd8a946c19a77301f218efbf650e2f28 (diff) |
*gitignore
Diffstat (limited to 'Runtime/Scripting/Debug/Debug.bind.cpp')
-rw-r--r-- | Runtime/Scripting/Debug/Debug.bind.cpp | 120 |
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 |