public void ProcessarEvento(Evento evento) { SaidaRotina saidaRotina = SeletorRotinas.ProcessarEvento(evento); Eventos.AddRange(saidaRotina.EventosInternos); EventosPrioritarios.AddRange(saidaRotina.EventosPrioritarios); if (FilaSaida != null) { FilaSaida.AddRange(saidaRotina.EventosExternos); } }
public Evento ExtrairProximoEvento() { Evento proximoEvento = null; if (EventosPrioritarios.Count > 0) { proximoEvento = EventosPrioritarios[0]; EventosPrioritarios.RemoveAt(0); } else if (Eventos.Count > 0) { proximoEvento = Eventos[0]; Eventos.RemoveAt(0); } return(proximoEvento); }