«Двухмерный GUI для трёхмерной игры» — глава пройдена.
✔️ Поработал с классом PlayerPrefs — он используется для хранения простых настроек. С его помощью реализовал сохранение сложности игры.
✔️ В проекте применил класс Messenger — очень удобный инструмент. Ранее я на «костылях» реализовывал счётчик фрагов: контроллер здоровья в момент когда HP кончается напрямую вызывает UI-контроллер и сообщает, что нужно увеличить число в углу экрана. Это работало, но с точки зрения архитектуры реализация кривая. Теперь же UI-контроллер «подписывается» на событие ENEMY_DIED, а контроллер здоровья рассылает это событие.
✔️ После каждого убитого противника сделал увеличение скорости игрока — что-то вроде прокачки уровней. Для этого в контроллере персонажа использовал ту же подписку на событие ENEMY_DIED, как и в предыдущем случае.
✔️ Изучая реализацию класса Messenger, познакомился с делегатами в C# и узнал, как для них работает оператор сложения(для меня было неочевидно).
Post #15
121