Задание
Разработать универсальную систему интерфейса и вывести всю необходимую информацию на экран.
Универсальная система интерфейса должна уметь:
- открывать и закрывать попапы (настройки, результаты)
- открывать и закрывать игровые экраны (главный экран, выбор персонажа, игровой процесс)
- закрывать полупрозрачной картинкой задний фон за окном
- быть построенной на стеке
- объекты окон и игровых экранов должны быть реализованы на основе
gameObject
ов
Универсальная система представляет собой 2 менеджера. Менеджер попапов и менеджер страниц. Разберем менеджер попапов. Скрипты попапов наследуются от базового окна, скрипт базового окна от gameObject
. Менеджер умеет открывать и закрывать попапы. В случае, если попап открывается, он ложится в стек, если открывается следующий – ложится выше. Когда попап закрывается - вынимаем из стека.
WindowManager.open(SettingsWindow); - открываем настройки
WindowManager.open(CreatorsWindow); - открываем создателей
WindowManager.closeLast(); - закрываем создателей
WindowManager.closeLast(); - закрываем настройки
Менеджер страниц проще. Открываем страницу и автоматически закрываем предыдущую.
PageManager.open(LoadingPage);
PageManager.open(GamePage);
PageManager.open(VictoryPage);
Базовый попап и страница должны иметь методы onOpened и onClosed которые должны вызываться после анимации открытия и закрытия.
Дополнительное задание
С помощью библиотеки для анимаций tween.js реализовать простейшие анимации открытия и закрытия экранов и попапов.