From 04cc2529fad23175835f736d11c585a5a0c9b8f7 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Mon, 28 Sep 2020 16:26:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E6=96=97log=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/Logic/BattleLogManager.lua | 47 +++++++++++++------ .../~Lua/Modules/Battle/Logic/BattleLogic.lua | 2 +- .../~Lua/Modules/Battle/Logic/RoleLogic.lua | 1 + 3 files changed, 35 insertions(+), 15 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua index 8f2f6afd60..0d63786706 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua @@ -1,6 +1,7 @@ BattleLogManager = {} local this = BattleLogManager -local isEditor = AppConst and AppConst.Platform == "EDITOR" +local isEditor = AppConst and AppConst.Platform == "EDITOR" +local isMobile = AppConst and (AppConst.Platform == "ANDROID" or AppConst.Platform == "IOS") local isDebug = false function LogBattle(str) @@ -13,7 +14,7 @@ function LogBattle(str) end end -local isLog = true or isEditor +local isLog = (true and not isMobile) or isEditor local function pairsByKeys(t) local a = {} @@ -93,6 +94,7 @@ function this.Init(fightdata, userdata) end this.logList = {} + this.WriteFightDataToFile() end function this.Log(...) @@ -106,12 +108,14 @@ function this.Log(...) log = log .. string.format("%s = %s, ", key, value) end table.insert(this.logList, log) - -- 打印一下 - LogBattle(log) + -- 如果log大于100条写一便日志到文件 + if #this.logList > 100 then + this.WriteLogToFile() + end end -function this.WriteFile() - if not isLog then return end + +function this.GetFile(wType) local time = string.format("%d-%d-%d-%d-%d-%d", os.date("%Y"), os.date("%m"), @@ -123,29 +127,44 @@ function this.WriteFile() local platform -- linux if not file then - file = io.open("../luafight/BattleRecord/log-"..(this.userId or time)..".txt", "w") + file = io.open("../luafight/BattleRecord/log-"..(this.userId or time)..".txt", wType) platform = "Linux" end -- local window server if not file then - file = io.open("luafight/BattleRecord/log-"..(this.userId or time)..".txt", "w") + file = io.open("luafight/BattleRecord/log-"..(this.userId or time)..".txt", wType) platform = "Local Windows Server" end -- local if not file then - file = io.open("BattleRecord/log-"..(this.userId or time)..".txt", "w") + file = io.open("BattleRecord/log-"..(this.userId or time)..".txt", wType) platform = "Local" end - + return file, platform +end + + +-- 将战斗数据写入log +function this.WriteFightDataToFile() + if not isLog then return end + local file, platform = this.GetFile("w") file:write(platform..":\n\n\n") - for i = 1, #this.logList do - file:write(this.logList[i].."\n") - end - file:write("\n\n\n\n\n") file:write("fightData:\n") file:write(this.PrintBattleTable(this.fightdata)) file:write("\n\n") file:write("timeStamp: " .. this.timestamp) + file:write("\n\n\n\n\n") + io.close(file) +end + +-- 将日志写入log +function this.WriteLogToFile() + if not isLog then return end + local file, platform = this.GetFile("a") + for i = 1, #this.logList do + file:write(this.logList[i].."\n") + end + this.logList = {} io.close(file) end diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua index c40216cf6f..3d050076aa 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua @@ -371,7 +371,7 @@ function BattleLogic.BattleEnd(result) BattleLogic.Event:DispatchEvent(BattleEventName.BattleEnd, result) -- 战斗日志写入 if not BattleLogic.GetIsDebug() then - BattleLogManager.WriteFile() + BattleLogManager.WriteLogToFile("a") end end -- diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/RoleLogic.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/RoleLogic.lua index 6753f6b1f6..71a381483f 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/RoleLogic.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/RoleLogic.lua @@ -24,6 +24,7 @@ function RoleLogic.New() end function RoleLogic:Init(uid, data, position) + data.star = data.star or 1 self.uid = uid self.position = position self.roleData = data