Hyper Casual игра на Unity с нуля. #2 Первый уровень
Hyper Casual игра на Unity с нуля. #2 Первый уровень
6565

Писал в прошлом посте вопрос, повторю: почему объекты создаются в Awake?
Например, вот:
windowManager = newGameObject("WindowManager").AddComponent<WindowManager>();
Вы так же поступили с канвасом в прошлом посте. Почему нельзя просто оставить их на сцене?

Другой вопрос: почему используется static?
private static readonly GameObject _ballPrefab;

"Почему нельзя просто оставить их на сцене?" - WindowManager и GameController можно и так и так. Я просто делаю одним из методов.

А у окон есть метод Close, который обращается к WindowManager, и чтобы вручную не закидывать в редакторе в каждое окно ссылку на WindowManager я создаю их в коде.

LevelFactory является static классом, чтобы не создавать его экземпляр, соответственно ссылки на префабы тоже static.

1

Потому что кто-то пытался поиграть в проектирование но проиграл

1

Могу предположить, потому что данный проект делается в одиночку человеком, являющимся в первую очередь программистом. В данном случае все создание объектов через "new GameObject().AddComponent<>()" происходит в классе App, который является чем-то вроде локатора служб приложения (ru.wikipedia.org/wiki/Локатор_служб)

"Почему нельзя просто оставить их на сцене?" что бы можно было редактировать уровни с сервера