Порядок выполнения событий в ct.js
7 июня 2024 г.
Порядок выполнения событий в ct.js
Автоматически переведённая страница
К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).
Эти события всегда выполняются в следующем порядке:
- Запускается основная библиотека ct.js;
- Инициализируются модули;
- Выполняются пользовательские скрипты, добавленные в настройках проекта;
- Вызывается событие
oncreate
комнаты, которое активируется при начале игры или переходе пользователя в новую комнату; - Событие
oncreate
вызывается для каждой копии; - Затем начинается основной цикл игры:
- Вызывается событие
onstep
для всех копий в комнате; - Вызывается событие
onstep
для текущей комнаты; - Вызывается событие
ondestroy
для всех копий, помеченных как «убить»; - Копии перебираются;
- Вызывается событие
ondraw
для всех копий; - Вызывается событие
ondraw
для комнаты; - Очищаются события ввода. Ожидание нового цикла игры.
- Вызывается событие
- Когда пользователь переходит в новую комнату, вызывается событие
onleave
для последней комнаты.
Заказ вызова с инъекциями мода
При запуске:
- Библиотека ct.js запускается.
- load.js.
- Модули инициализируются.
- Выполняются пользовательские скрипты, добавленные в настройках проекта;
- resload.js выполняется после загрузки всех ресурсов.
- start.js — вызывается перед запуском игры (комната еще не создана).
- Создается первая комната.
- Вызывается OnCreate комнаты.
- roomoncreate.js.
- Вызывается switch.js.
- ct.camera правильно позиционируется.
При переходе между комнатами:
- Вызывается событие OnLeave предыдущей комнаты.
- roomonleave.js.
- Вызывается OnCreate новой комнаты.
- Создаются копии с любыми событиями и инъекциями.
- roomoncreate.js
- switch.js
- ct.camera правильно позиционируется.
На каждой кадровой итерации:
- beforeframe.js выполняется в глобальном контексте.
- beforestep.js с this, равным текущему типу.
- Вызывается OnStep каждой копии.
- afterstep.js с this, равным текущему типу.
- beforenroomstep.js с this, равным текущей комнате (может отличаться от ct.room).
- Вызывается OnStep комнаты.
- afterroomstep.js с this, равным текущей комнате (может отличаться от ct.room).
- Копии уничтожаются вместе со своими событиями OnDestroy.
- Обновляется положение камеры.
- beforedraw.js с this, равным текущему типу.
- Вызывается OnDraw каждой копии.
- afterdraw.js с this, равным текущему типу.
- beforenroomdraw.js с this, равным текущей комнате (может отличаться от ct.room).
- Вызывается OnDraw комнаты.
- afterroomdraw.js с this, равным текущей комнате (может отличаться от ct.room).
- afterframe.js вызывается перед переходом к следующей кадровой итерации.
При создании копии:
- onbeforecreate.js
- Вызывается OnCreate каждой копии.
- oncreate.js
При удалении копии:
- ondestroy.js
- Вызывается событие OnDestroy копии.