Обновление и пауза игры
Посмотрим, что SDK обновляет за кадр и как ставит игру на паузу.
SDK обновляет вёрстку, сервисы сцены, физику, частицы и твины в заданном порядке. Игровой код подключается к обновлению через методы компонентов и сервисов.
У компонентов метод обновления — onUpdate(dt), у сервисов сцены — onSceneTick(ctx). Сервис с tickPhase: 'physics' обновляется на этапе физики.
Причины паузы
Пауза может происходить из-за неактивной страницы, ручного действия, платформы или рекламы. Итоговая пауза сохраняется, пока активна хотя бы одна причина. Завершение рекламы не должно возобновлять игру, если вкладка всё ещё неактивна.
TweenManager.delayMs останавливает отсчёт на время игровой паузы.
Чтобы узнать, приостановлена ли игра, прочитаем состояние активности:
const snapshot = this.node.engine.activity.getSnapshot();
const paused = snapshot.effectivePaused;
activity.subscribe(handler) сообщает о смене паузы. Метод возвращает функцию отписки.