public EventData(DateTime timestamp, string eventName, string[] eventData, CombatLogParser clp) { this.Timestamp = timestamp; this.EventName = eventName; this.EventParameters = eventData; this.CombatLogParser = clp; }
static void CombatLog() { var list = new List<LogEntry>(); var logParser = new CombatLogParser( dreadLog, StreamParsingType.Continous ); //SpellEvent lastTorp = null; foreach ( var entry in logParser ) { //if ( entry is SpellEvent ) { // var spell = (SpellEvent)entry; // //Console.WriteLine( "{0} {1} -> {2}", spell.PlayerName, spell.SpellName, string.Join( ", ", spell.TargetNames ) ); // if ( spell.SpellName == "Spell_ClanShipTorpedo" && spell.PlayerName == "n/a" ) { // lastTorp = spell; // Console.WriteLine( "{3}: {0} {1} -> {2}", spell.PlayerName, spell.SpellName, string.Join( ", ", spell.TargetNames ), spell.Time.ToString( "hh-mm-ss" ) ); // } //} //if ( lastTorp != null ) { // var nextTorpTime = lastTorp.Time.AddSeconds( 65 ); // var diff = entry.Time - lastTorp.Time; // var diff2 = nextTorpTime - entry.Time; // if ( diff2.TotalSeconds > 5 && diff2.TotalSeconds < 6 ) { // Console.WriteLine( "{0} left", diff2.TotalSeconds ); // } //} Console.WriteLine( entry.GetType().Name ); list.Add( entry ); } logParser.Dispose(); //var groups = list.OfType<EntityDamageEvent>().GroupBy( k => k.AttackerName ); ////.ToDictionary( s => s.Key, s => s.Sum( r => r.Damage ) ).OrderBy( r => r.Value ); //foreach ( var group in groups ) { // Console.WriteLine( group.Key ); // foreach ( var g in group ) { // Console.WriteLine( " -> " + g.Damage + " / " + g.VictimName + " .. " + g.WeaponName ); // } //} }