// TODO: Saida mais generica, como uma fila // TODO: Relatorio de execucao public MotorEventos(SeletorRotinas seletorRotinas, int instanteExecucao = 0, List <Evento> filaSaida = null) { EventoCorrente = null; Eventos = new List <Evento>(); EventosPrioritarios = new List <Evento>(); InstanteExecucao = instanteExecucao; SeletorRotinas = seletorRotinas; FilaSaida = filaSaida; }
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); } }