public void Clean(CombatLog log) { // Clear log properties so they won't get stores/used later. foreach (CombatData combat in log.Combats) { combat.Log.Clear(); foreach (CharacterData value in combat.Characters.Values) { value.AsSource.Log.Clear(); value.AsTarget.Log.Clear(); } } }
private CombatLog ParseCombatLog(List<LogEntry> log) { var cLog = new CombatLog(); CombatData currentCombat = null; foreach (LogEntry logEntry in log) { if (logEntry.effect.name == "EnterCombat") currentCombat = new CombatData(); if (currentCombat != null) currentCombat.Log.Add(logEntry); if (logEntry.effect.name == "ExitCombat") { cLog.Combats.Add(currentCombat); currentCombat = null; } } if (currentCombat != null) // we have a partial combat cLog.Combats.Add(currentCombat); return cLog; }