ym88659208ym87991671
Переключение стейтов – AppRouter | Документация для разработчиков

Переключение стейтов – AppRouter

Обновлено 17 января 2023

В AppRouter прописаны переключения между основными стейтами приложения, а также обеспечена проверка требований к их отображению. Рекомендуется использовать AppRouter как верхнеуровневое API фреймворка

Находится на сцене Main, на объекте Canvas → UserCanvas

App router

Представляет собой Singleton, поддерживает обращения через AppRouter.Instance.

AppRouter условно разделён на две части:

AppRouter: Initialization

AppRouter: States

Используя AppRouter вы можете менять местами стейты приложения. Описание доступных по умолчанию стейтов:

Стейты приложения

Также при необходимости вы можете добавлять собственные стейты. Для этого рекомендуется придерживаться заложенной архитектуры:

  1. Сверстайте стейт в виде отдельного GameObject, в иерархии разместите его внутри Canvas → UserCanvas.
  2. Добавьте управляющие скрипты – “<Названиестейта>State” (должен наследоваться от класса State) и “<Названиестейта>StateView”. Первый отвечает за логику стейта, второй за его отображение.
  3. В “<Название_стейта>State” добавьте функцию Init для передачи необходимых для работы и отображения стейта данных; при необходимости вы можете прописать возможность задать колбеки для переопределения стандартного поведения по аналогии с основными стейтами.
  4. Добавьте в AppRouter отдельную функцию для перехода на ваш стейт. Внутри неё сделайте проверку на условия перехода и необходимую подготовку, после чего получите ваш стейт из иерархии, проинициализируйте необходимыми параметрами и переключитесь на него, используя stateSwitcher.
var myState = stateSwitcher.GetState<<Название_стейта>State>()
myState.Init(...);
stateSwitcher.SwitchState(myState, animation);
  • Вызовите созданную функцию из нужного места для перехода на созданный вами стейт
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.