Шаблон Phaser 3 на TypeScript + WebPack

Я уже давно сделал шаблон Phaser 3 + TS + WebPack, поддерживаю и обновляю его периодически. Шаблон уже проверен временем, многократно был улучшен по архитектуре, поэтому пришло время рассказать о нём.

Ссылка на шаблон на github.

Немного пояснения

В шаблоне мы имеем папку с проектом и отдельную папку для проектов TexturePacker-а. Текстур пакет компилирует атлас в папку public/assets/atlas. Папка public без изменений копируется в создаваемую папку build во время билда.

Для демо я сделал 2 сцены: главного меню и меню игры просто с текстом.

Особенности:

  • демо подключения google-шрифтов, прописывается в css, загружаются с помощью невидимого блока в index.html и отображается в GameScene
  • OrientationAlert — картинка «поверните устройство», настраивается в Config.ts
  • Классы GameEvent и FrontEvent для коммуникации с какой-либо фронт-оболочкой
  • интерфейсы ILogger и IUpdated
  • Базовый класс для визуальных сцен CurtainScene в котором можно настроить шторки перехода между сценами
  • переназначенные классы GUI с префиксом My… (удобно использовать из-за короткого имени) и добротный класс кнопки MyBtn с настройками поведения
  • AudioMng для удобного включения музыки и звуков и хранения списка alias-ов и файлов для загрузки
  • многочисленные утилиты в папке Utils накопленные годами

В общем, пользуйтесь и пишите вопросы и замечания по улучшению шаблона, отправляйте Pull Request-ы.