Ordem de eventos em ct.js
20 de julho de 2022
Ordem de eventos em ct.js
Esses eventos são sempre executados na seguinte ordem:
- A biblioteca principal do ct.js é executada;
- Os módulos são inicializados;
- Os scripts personalizados adicionados nas configurações do projeto são executados;
- O evento
oncreateda room é invocado, o qual é emitido quando um usuário inicia um jogo ou alterna para uma nova room; oncreateé invocado para cada;- Então o loop principal do jogo começa:
- O evento
onstepé invocado para todas as copies na room; - O evento
onstepda room atual é invocado; ondestroyé invocado para todas as copies que foram marcadas para morrer com a propriedadekill;- Todas as copies são reorganizadas;
ondrawé invocado para todas as copies;ondrawé invocado para um room;- Os eventos de entrada são apagados. Aguardando por uma nova interação do loop de jogo.
- O evento
- Quando o usuário alternar para uma nova room, um evento
onleaveé invocado para a room anterior.
Ordem de execução com a injeção dos módulos
Na inicialização:
- A biblioteca principal do ct.js é executada.
load.js.- Os módulos são inicializados.
- Os scripts personalizados adicionados nas configurações do projeto são executados;
resload.jsé executado quando todos os assets foram carregados.start.js— Invocado logo antes do game ser iniciado (nenhuma room foi criada ainda).- A primeira room é criada.
- O OnCreate da room é invocado.
roomoncreate.js.switch.jsé invocado.ct.cameraé devidamente posicionada.
Na transição de uma room para outra:
- O evento OnLeave da room anterior é invocado.
roomonleave.js.- OnCreate da nova room é invocado.
- As copies são criadas aqui, com todos os seus eventos e injeções.
roomoncreate.jsswitch.jsct.cameraé devidamente posicionada.
A cada frame:
beforeframe.jsé executado em contexto global.beforestep.jswiththisbeing the current type.- Copies' own OnStep is called.
afterstep.jscomthissendo o tipo atual.beforeroomstep.jscomthissendo uma room atual (pode ser diferente dect.room)- O OnStep da room que o contém é invocado.
afterroomstep.jscomthissendo uma room atual (pode ser diferente dect.room)- As copies são destruídas com com os seus eventos OnDestroy.
- A posição da camera é atualizada.
beforedraw.jscomthissendo o tipo atual.- O OnDraw das copies que o contém é invocado.
afterdraw.jscomthissendo o tipo atual.beforeroomdraw.jscomthissendo uma room atual (pode ser diferente dect.room)- OnDraw da room que o contém é invocado.
afterroomdraw.jscomthissendo uma room atual (pode ser diferente dect.room)afterframe.jsé invocado ante de irmos para o próximo frame.
Na criação da copy:
onbeforecreate.js- OnCreate das copies que o contém é invocado.
oncreate.js
Na exclusão da copy:
ondestroy.js- O evento OnDestroy das copies que o contém é invocado.
