diff --git a/lua-test/lua/module/LuaClass.lua b/lua-test/lua/module/LuaClass.lua index 4cbb08f..cc2b47e 100644 --- a/lua-test/lua/module/LuaClass.lua +++ b/lua-test/lua/module/LuaClass.lua @@ -125,3 +125,8 @@ RechargeEventListerTable:eventLister( "test.2", printData ) +RechargeEventListerTable:eventLister( + 2, + "test.2", + printData +) diff --git a/lua-test/lua/module/TestData.lua b/lua-test/lua/module/TestData.lua index 1e58c48..186dde2 100644 --- a/lua-test/lua/module/TestData.lua +++ b/lua-test/lua/module/TestData.lua @@ -27,7 +27,7 @@ function TestData.Lv(data, change) end function TestData.print2(...) - local string = gameDebug.toStrings(" ", "dd", ...) + local string = gameDebug.toStrings0(false, false, " ", "dd", ...) print(string) end diff --git a/lua-test/luac/src/main/resources/lua-extend/EventLister.lua b/lua-test/luac/src/main/resources/lua-extend/EventLister.lua index 6783c39..6839c36 100644 --- a/lua-test/luac/src/main/resources/lua-extend/EventLister.lua +++ b/lua-test/luac/src/main/resources/lua-extend/EventLister.lua @@ -26,10 +26,7 @@ EventListerTable = { ---@param eventFun function 事件回调函数 eventLister = function(self, eventType, eventName, eventFun) local em = self:eventMap(eventType) - if em[eventName] then - _LUA_Error(debug.traceback("存在相同的事件【" .. eventName .. "】注册")) - return - end + gameDebug.assertNotNil(em[eventName], "事件 type = ", eventType, " name = ", eventName, "重复注册") em[eventName] = eventFun --gameDebug.printType(_VERSION, "注册事件:", self, em, eventType, eventName) end, diff --git a/lua-test/luac/src/main/resources/lua-extend/GameDebug.lua b/lua-test/luac/src/main/resources/lua-extend/GameDebug.lua index 7373496..c603815 100644 --- a/lua-test/luac/src/main/resources/lua-extend/GameDebug.lua +++ b/lua-test/luac/src/main/resources/lua-extend/GameDebug.lua @@ -111,7 +111,7 @@ function gameDebug.toString(obj, appendYinhao, appendType) end return str elseif typeString == 'table' then - local str = gameDebug.toTableJson(obj, appendYinhao, appendType) + local str = gameDebug.toTableJson(obj, true, appendType) if appendType then str = "【" .. typeString .. "】 " .. str end @@ -132,7 +132,7 @@ function gameDebug.toString(obj, appendYinhao, appendType) end return e else - local str = gameDebug.toArrayJson(obj, appendYinhao, appendType) + local str = gameDebug.toArrayJson(obj, true, appendType) if appendType then str = "【" .. typeString .. "】 " .. str end @@ -144,14 +144,14 @@ end ---@param split string 分隔符 --- @param ... any 参数 function gameDebug.toStrings(split, ...) - return gameDebug.toStrings0(split, true, false, ...) + return gameDebug.toStrings0(false, false, split, ...) end --- 把对象转化成字符串,保护数据类型 ---@param split string 分隔符 --- @param ... any 参数 function gameDebug.toStringsType(split, ...) - return gameDebug.toStrings0(split, false, true, ...) + return gameDebug.toStrings0(false, true, split, ...) end --- 把对象转化成字符串 @@ -159,7 +159,7 @@ end --- @param appendYinhao boolean 是否添加引号 --- @param appendType boolean 是否添加类型 --- @param ... any 参数 -function gameDebug.toStrings0(split, appendYinhao, appendType, ...) +function gameDebug.toStrings0(appendYinhao, appendType, split, ...) local printString = "" local tmp = { ... } local _, _ = pcall(function() @@ -275,11 +275,18 @@ function gameDebug.assertNil(obj, ...) end end +--- 断言对象为nil +function gameDebug.assertNotNil(obj, ...) + if obj ~= nil then + gameDebug.error(...) + end +end + --- 断言 仅仅只是 print 输出 ---@param b boolean false 仅仅只是 print 输出 function gameDebug.assertPrint(b, ...) if not b then - local msg = gameDebug.toStrings(" ", ...) + local msg = gameDebug.toStrings0(false, false, " ", ...) _LUA_Print(msg) end end @@ -288,7 +295,7 @@ end ---@param b boolean false 仅仅只是 print 输出 function gameDebug.assertPrintTrace(b, ...) if not b then - local msg = gameDebug.toStrings(" ", ...) + local msg = gameDebug.toStrings0(false, false, " ", ...) local traceback = debug.traceback(msg) _LUA_Print(traceback) end @@ -296,7 +303,7 @@ end --- 会抛出异常导致程序终止运行 function gameDebug.error(...) - local var = gameDebug.toStrings(" ", ...) + local var = gameDebug.toStrings0(false, false, " ", ...) var = debug.traceback(var) _LUA_Error(var) end