Так лучше не делать. Тег может технически висеть на нескольких объектах, и тогда не известно какой именно тебе нужен. Это еще ок если проект крошечный., но если разрастется хотябы до просто небольшого или среднего, то это станет большой проблемой. Так же и с именем. Вопервых это очень медленно, а во вторых может вызвать проблемы если кто то по неосторожности или не знанию переименует сущность. Очень критично если работать в команде. Хоть я и делаю игру один, но стараюсь привить себе привычки командной работы, так, чтобы потом с этим не было проблем.
Так лучше не делать. Тег может технически висеть на нескольких объектах, и тогда не известно какой именно тебе нужен. Это еще ок если проект крошечн…
zaicev9797
Так лучше не делать. Тег может технически висеть на нескольких объектах, и тогда не известно какой именно тебе нужен. Это еще ок если проект крошечн…
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя при посадке?
Я конечно не эксперт, и программированием занимаюсь чисто для себя, но это выглядит как оверинжиниринг для выдуманной проблемы (и как раз в таком случае при работе с командой, вместо того чтобы просто знать как работать с юнити, им приходится изучать какой-то зенжект, что по сути является проблемой)
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя п…
Gab125
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя п…
Тут скорее проблема в том, что при использовании тегов нет "защиты от дурака". Кто то может поставить тег на две сущности, когда это не предусмотрено по программной логике. Тег может быть переименован и тогда везде в коде надо будет тоже это передергивать.
Не всегда можно просто "передать реф". Например некоторые объекты должны быть доступны на самом старте сцены. Более того. некоторые объекты могут быть необходимы для инициализации других объектов также на старте. В этот момент появляется необходимость контролировать порядок выолнения скриптов, т.к. нельзя инциализировать обьект, пока не проиницииализированы объекты от которых он уже сам зависит.
Иньекция же зависимостей это решает автоматически.
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя п…
Gab125
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя п…
проблема передать с игрока реф на себя при посадке?
Так Зенжект по сути это и делает. Зенжект это просто реализация DI, с которым разобраться куда проще, чем делать самописный.
Поступить проще здесь, без потери в эффективности - синглтон, а он достаточно проблемный.
оверинжиниринг для выдуманной проблемы
Прокидывание зависимостей это один из главных архитектурных вопросов на юньке, насколько могу судить.
и как раз в таком случае при работе с командой, вместо того чтобы просто знать как работать с юнити, им приходится изучать какой-то зенжект, что по сути является проблемой
Ну, кстати, сейчас почти везде, даже на джунов Unity требуют уметь работать с зенжектом :D
>разобраться куда проще Кому как, видимоЯ любые фреймворки не перевариваю, из-за них всё становится только сложнее>Прокидывание зависимостей эт…
Gab125
>разобраться куда проще Кому как, видимоЯ любые фреймворки не перевариваю, из-за них всё становится только сложнее>Прокидывание зависимостей эт…
Имея пятилетний опыт в продуктовой разработке (на пхп), могу отметить, что DI используется там серьезными дядьками очень плотно, что наводит на мысль, что это один из наиболее удачных способов решения подобных проблем.
Комментарии
ааа так вот она откуда в вш
Это про что речь? Чот я не в теме. Что за "вш"?
Вишлист
гыг)
Я немножко суть проблемы не понял
В чём проблема сделать что-то вроде
Init
If (player.exists) target = player
?
Проблема в том чтобы найти "player" в игровой сцене
Тег player? Да хоть по имени
Так лучше не делать. Тег может технически висеть на нескольких объектах, и тогда не известно какой именно тебе нужен. Это еще ок если проект крошечный., но если разрастется хотябы до просто небольшого или среднего, то это станет большой проблемой. Так же и с именем. Вопервых это очень медленно, а во вторых может вызвать проблемы если кто то по неосторожности или не знанию переименует сущность. Очень критично если работать в команде. Хоть я и делаю игру один, но стараюсь привить себе привычки командной работы, так, чтобы потом с этим не было проблем.
Так суть тега player в том, что он висит ТОЛЬКО на одном объекте, но хорошо, если это медленнее, тогда в чем проблема передать с игрока реф на себя при посадке?
Я конечно не эксперт, и программированием занимаюсь чисто для себя, но это выглядит как оверинжиниринг для выдуманной проблемы (и как раз в таком случае при работе с командой, вместо того чтобы просто знать как работать с юнити, им приходится изучать какой-то зенжект, что по сути является проблемой)
Тут скорее проблема в том, что при использовании тегов нет "защиты от дурака". Кто то может поставить тег на две сущности, когда это не предусмотрено по программной логике. Тег может быть переименован и тогда везде в коде надо будет тоже это передергивать.
Не всегда можно просто "передать реф". Например некоторые объекты должны быть доступны на самом старте сцены. Более того. некоторые объекты могут быть необходимы для инициализации других объектов также на старте. В этот момент появляется необходимость контролировать порядок выолнения скриптов, т.к. нельзя инциализировать обьект, пока не проиницииализированы объекты от которых он уже сам зависит.
Иньекция же зависимостей это решает автоматически.
А кто-то может стереть весь код, удалить весь проект и т.д. Глупость же
Всё равно не могу представить примера проблемы, где это не решается изначально продуманным дизайном проекта или чуть другим подходом, ну да ладно
если использовать гит, то никто кроме влаельца репозитория не сможет стереть код)
Так Зенжект по сути это и делает. Зенжект это просто реализация DI, с которым разобраться куда проще, чем делать самописный.
Поступить проще здесь, без потери в эффективности - синглтон, а он достаточно проблемный.
Прокидывание зависимостей это один из главных архитектурных вопросов на юньке, насколько могу судить.
Ну, кстати, сейчас почти везде, даже на джунов Unity требуют уметь работать с зенжектом :D
>разобраться куда проще
Кому как, видимо
Я любые фреймворки не перевариваю, из-за них всё становится только сложнее
>Прокидывание зависимостей это один из главных архитектурных вопросов на юньке
Более точно - это решение проблемы, которую изначально можно было легко избежать
Имея пятилетний опыт в продуктовой разработке (на пхп), могу отметить, что DI используется там серьезными дядьками очень плотно, что наводит на мысль, что это один из наиболее удачных способов решения подобных проблем.