Порядок выполнения событий в ct.js
7 июня 2024 г.
Порядок выполнения событий в ct.js
Автоматически переведённая страница
К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).
Эти события всегда выполняются в следующем порядке:
- Запускается основная библиотека ct.js;
- Инициализируются модули;
- Выполняются пользовательские скрипты, добавленные в настройках проекта;
- При начале игры или переходе игрока в новую комнату:
- Для каждой копии, добавленной в ассет комнаты, выполняется событие Создание;
- Вызывается событие Старт комнаты.
- Затем начинается основной цикл игры:
- Вызывается событие Начало кадра для всех копий в комнате;
- Вызывается событие Начало кадра для текущей комнаты;
- Вызывается событие Уничтожение для всех копий, помеченных как «убить»;
- Копии пересортируются по глубине;
- Вызывается событие Конец кадра для всех копий;
- Вызывается событие Конец кадра для комнаты;
- Очищаются события ввода. Ожидание нового цикла игры.
- Когда пользователь переходит в новую комнату, вызывается событие Конец комнаты для последней комнаты.
Заказ вызова с инъекциями мода
При запуске:
- Библиотека 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 копии.
