public void AddEvento(Evento ev) { eventList.Add(ev); if (ev.Tipo == TypeEvent.Join) { if (!PlayerList.Exists(p=>p.Id == ev.PlayerA.Id)) { PlayerList.Add(ev.PlayerA); } } }
private List<Partida> montaObjetos(string[] lines) { List<Partida> listPartida = new List<Partida>(); Partida partida = null; int contPartidas = 0; foreach (string line in lines) { if (line.Contains("InitGame")) { partida = new Partida() { Id = (++contPartidas).ToString() }; continue; } else if (line.Contains("ExitLevel:")) { listPartida.Add(partida); partida = null; } if (partida != null) { string[] words = line.Split(';'); if (words[0].EndsWith("J")) { Evento ev = new Evento() { Tipo = TypeEvent.Join, Time = new DateTime(), PlayerA = new Player() { Id = words[1], Nome = words[3] } }; partida.AddEvento(ev); } else if (words[0].EndsWith("D") || words[0].EndsWith("K")) { TypeEvent typeEv = TypeEvent.Undefined; if (words[0].EndsWith("D")) { typeEv = TypeEvent.Damage; } else { typeEv = TypeEvent.Kill; } Evento ev = new Evento() { Tipo = typeEv, Time = new DateTime(), PlayerA = new Player() { Id = words[1], Nome = words[4], Time = Evento.GetTime(words[3]) }, PlayerB = new Player() { Id = words[5], Nome = words[8], Time = Evento.GetTime(words[7]) }, Modificador = Evento.GetModificador(words[11]), Arma = Evento.GetArma(words[9]), Onde = Evento.GetOnde(words[12]), }; partida.AddEvento(ev); } } } return listPartida; }