Example #1
0
 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();
         }
     }
 }
Example #2
0
        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;
        }