Hyper Casual игра на Unity с нуля. #2 Первый уровень
Hyper Casual игра на Unity с нуля. #2 Первый уровень
2626 показов
4.8K4.8K открытий

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

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

Ответить

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

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

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

Ответить

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

Ответить

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

Ответить

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

Ответить