From cd40920949858a07ade521e2d11a0053b2d0e7fb Mon Sep 17 00:00:00 2001 From: gaoxin Date: Fri, 22 Jan 2021 17:45:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E3=80=91log?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=B7=BB=E5=8A=A0=E7=BB=93=E6=9E=9C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/Logic/BattleLogManager.lua | 5 ++- .../~Lua/Modules/Battle/Logic/BattleLogic.lua | 34 ++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua index 3b8df392ed..6f3d690f16 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogManager.lua @@ -87,9 +87,10 @@ function this.PrintBattleTable(tb) end -- this.logList = {} -function this.Init(fightdata, userdata) +function this.Init(fightdata, userdata, maxRound) this.timestamp = Random.GetSeed() this.fightdata = fightdata + this.maxRound = maxRound if userdata then this.userId = userdata.uid end @@ -154,6 +155,8 @@ function this.WriteFightDataToFile() file:write(this.PrintBattleTable(this.fightdata)) file:write("\n\n") file:write("timeStamp: " .. this.timestamp) + file:write("\n") + file:write("maxRound: " .. this.maxRound) file:write("\n\n\n\n\n") 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 55cc0ab2c6..8102db43e4 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua @@ -66,7 +66,7 @@ function BattleLogic.Init(data, _userData, maxRound) BattleLogic.IsEnd = false BattleLogic.Result = -1 -- 日志管理放到前面初始化 - BattleLogManager.Init(fightData, userData) + BattleLogManager.Init(fightData, userData, maxRound) MonsterManager.Init() RoleManager.Init() @@ -436,11 +436,43 @@ function BattleLogic.BattleEnd(result) BattleLogic.IsEnd = true BattleLogic.Result = result BattleLogic.Event:DispatchEvent(BattleEventName.BattleEnd, result) + + -- 打印结果 + BattleLogic.LogResult(result) -- 战斗日志写入 if not BattleLogic.GetIsDebug() then BattleLogManager.WriteLogToFile() end end + +-- 打印战斗结果 +function BattleLogic.LogResult(result) + local allHeroDamage, allEnemyDamage = BattleLogic.GetAllDamage() + + local heroHP = {0, 0, 0, 0, 0, 0} + local arr = RoleManager.Query(function (r) return r.camp == 0 end, true) + for i=1, #arr do + local pos = arr[i].position + heroHP[pos] = arr[i]:GetRoleData(RoleDataName.Hp) + end + local enemyHP = {0, 0, 0, 0, 0, 0} + local arr = RoleManager.Query(function (r) return r.camp == 1 end, true) + for i=1, #arr do + local pos = arr[i].position + enemyHP[pos] = arr[i]:GetRoleData(RoleDataName.Hp) + end + BattleLogManager.Log( + "Battle Over!!!!!!!", + "result", result, + "allHeroDamage", allHeroDamage, + "allEnemyDamage", allEnemyDamage, + "duration", BattleLogic.CurFrame() / BattleLogic.GameFrameRate, + "heroHP", BattleLogManager.PrintBattleTable(heroHP), + "enemyHP", BattleLogManager.PrintBattleTable(enemyHP) + ) +end + + -- function BattleLogic.Clear() -- 清空角色