Перейти к основному содержанию

Порядок выполнения событий в ct.js


Порядок выполнения событий в ct.js

Автоматически переведённая страница

К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).

Эти события всегда выполняются в следующем порядке:

  1. Запускается основная библиотека ct.js;
  2. Инициализируются модули;
  3. Выполняются пользовательские скрипты, добавленные в настройках проекта;
  4. Вызывается событие oncreate комнаты, которое активируется при начале игры или переходе пользователя в новую комнату;
  5. Событие oncreate вызывается для каждой копии;
  6. Затем начинается основной цикл игры:
    1. Вызывается событие onstep для всех копий в комнате;
    2. Вызывается событие onstep для текущей комнаты;
    3. Вызывается событие ondestroy для всех копий, помеченных как «убить»;
    4. Копии перебираются;
    5. Вызывается событие ondraw для всех копий;
    6. Вызывается событие ondraw для комнаты;
    7. Очищаются события ввода. Ожидание нового цикла игры.
  7. Когда пользователь переходит в новую комнату, вызывается событие onleave для последней комнаты.

Заказ вызова с инъекциями мода

При запуске:

  1. Библиотека ct.js запускается.
  2. load.js.
  3. Модули инициализируются.
  4. Выполняются пользовательские скрипты, добавленные в настройках проекта;
  5. resload.js выполняется после загрузки всех ресурсов.
  6. start.js — вызывается перед запуском игры (комната еще не создана).
  7. Создается первая комната.
  8. Вызывается OnCreate комнаты.
  9. roomoncreate.js.
  10. Вызывается switch.js.
  11. ct.camera правильно позиционируется.

При переходе между комнатами:

  1. Вызывается событие OnLeave предыдущей комнаты.
  2. roomonleave.js.
  3. Вызывается OnCreate новой комнаты.
  4. Создаются копии с любыми событиями и инъекциями.
  5. roomoncreate.js
  6. switch.js
  7. ct.camera правильно позиционируется.

На каждой кадровой итерации:

  1. beforeframe.js выполняется в глобальном контексте.
  2. beforestep.js с this, равным текущему типу.
  3. Вызывается OnStep каждой копии.
  4. afterstep.js с this, равным текущему типу.
  5. beforenroomstep.js с this, равным текущей комнате (может отличаться от ct.room).
  6. Вызывается OnStep комнаты.
  7. afterroomstep.js с this, равным текущей комнате (может отличаться от ct.room).
  8. Копии уничтожаются вместе со своими событиями OnDestroy.
  9. Обновляется положение камеры.
  10. beforedraw.js с this, равным текущему типу.
  11. Вызывается OnDraw каждой копии.
  12. afterdraw.js с this, равным текущему типу.
  13. beforenroomdraw.js с this, равным текущей комнате (может отличаться от ct.room).
  14. Вызывается OnDraw комнаты.
  15. afterroomdraw.js с this, равным текущей комнате (может отличаться от ct.room).
  16. afterframe.js вызывается перед переходом к следующей кадровой итерации.

При создании копии:

  1. onbeforecreate.js
  2. Вызывается OnCreate каждой копии.
  3. oncreate.js

При удалении копии:

  1. ondestroy.js
  2. Вызывается событие OnDestroy копии.