В игре зделано всего четыре уровня. Звуки повешаны не на все события, хотя делов там минимум. Шкала топлива отображается не совсем по факту, по сути её надо переделывать.
Дальше разработку я вести не буду так как я считаю достиг своей цели: получил опыт, набил шишки.
Работа над ошибками:
- Надо более тщательно планировать архитектуру и диздок, в частности Layers - необходимо было заранее прописать все лэеры, не только просто UI и GameSpace. Как оказалось ещё есть и сомолёты которые должны быть поверх GameSpace и т.д.
Изначально долго долбался над системой уровней всё не мог определиться как лучше, это дело надо заранее тож тщательней продумывать.
- Тщательное изучение статей по разработке на Unity3D часто встречаю негативность в сторону "сингельтонов", думаю надо от них избавляться тоже, у меня сиглтонами GameManager и EventManager сидят, мне как то не по себе от такой реализации и хотелось всётаки от синглтонов избавится. Единственное может синглтоном оставлю SoundManager и может буду делать какойнибудь типа медиатор типа GameData чтобы данные перемещать между сценами, хотя это помоему тож плохая идея....
- Я так и не вкурил с Layout в UI , как их толком выровнять, как по нормальному привязывать объекты УИ к своим местам, я доков на эту тему пока не нашол, а также не в куриваю как же всё таки заточиться под разные разрешения экранов, с этим надо ещё поработать и набить руку. Гдето я вычитал что "высота камеры должна быть половине размера экрана в пиксела" примерно, но смысл я так и непонял.
- Недавно прочёл что любой объект которые перемещается по сцене должен быть с компонентом RigidBody2D прям ПОЛЮБАСУ. В будущем буду это учитывать. Вообще там ещё много заморочек с коллайдерами и их перемещением. Я перемещаю объекты через transform а этого делать как оказывается незя, надо делать всё через rigidbody2d. учтём.
- Останусь пока по системе "всё в одной сцене", все уровни, все панели, менюшки и интро. Иерархия слишком забита от этого, хоть всё и разбито по подпапкам(подобъктам), всёравно хотелось бы это всё упростить и перейти на систему отдельных загружаемых сцен, но как это всё сделать вкупе со всеми игровыми примочками(EvenManager, SoundManager, GameData и т.д.) да ещё и НЕ ИСПОЛЬЗУЯ синглтоны - я незнаю.
В итоговый результат можно поиграть: