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() -- 清空角色