Всем привет, подскажите насколько валидно использовать ивенты работая с юнити?

Не будет ли проблем с оптимизацией или со сложностью организации, может быть проще просто продолжать делать условия и через ссылку вызывать нужные методы. Может кто может поделиться опытом

25 ответов

20 просмотров

я часто юзаю ивенты в контексте сцены. зенжект + ивенты. Они позволяют в любой момент отключить ненужный объект без нарушения вызовов остальных функций. Но есть минус - их тяжело отследить. Поэтому правильно продумай архитектуру проекта

Илья-Повстяный Автор вопроса
Vadim Veretilnyi
я часто юзаю ивенты в контексте сцены. зенжект + и...

А можно ли немного больше примеров использования их, долго думал за них, потому что связи и ссылки начали казаться сложными, но все же опасаюсь использовать, что бы не усложнить проект еще больше

Евент басс как наркотик, один раз попробуешь - сложно отказаться. Удобная штука для игр, но несёт ряд потенциальных проблем. По поводу оптимизации - ивенты c# работают довольно быстро, от юнити такое, намного медленнее

Илья-Повстяный Автор вопроса
Александр
Евент басс как наркотик, один раз попробуешь - сло...

В каких случаях лучше использовать ивент, а где лучше просто запихнуть еще одну ссылку и вызывать просто метод. В моем понимании нынешнем, эвентами лучше не заигрываться и использовать их для глобальных событий, которых ждут несколько обьектов

ну я все на ивенты почти повесил, даже там где посути только игрок реагирует, зачем эти тонны ссылок друг на друга?

Илья Повстяный
В каких случаях лучше использовать ивент, а где лу...

Если тебя нужна слабая связь между объектами - лучше их использовать через какого то посредника, тот же EventBus. То есть контроллер кубов, к примеру, может знать про кубов, можно вызывать метод. Но какой нибудь класс из другой системы должен просто обрабатывать событие.

Алексей
ну я все на ивенты почти повесил, даже там где пос...

Вопрос в том как эту тонну ссылок прокидывать) Потому что следить за тоннами ивентов это такое себе решение, обычно тут di юзают и он самостоятельно и красиво все раскидывает как ты ему укажешь

Никита
Вопрос в том как эту тонну ссылок прокидывать) Пот...

Я использую что то типа иерархической инициализации(хз как это назвать правильно), просто не люблю зенжект. Это позволяет делать логику без монобехов и удобно зависимости зависимости прокидовать.

Никита
Вопрос в том как эту тонну ссылок прокидывать) Пот...

У такого подхожа еще один плюс - все ссылки в одном месте, если что то слетает - ты сразу об этом знаешь.

Никита
Зачем зенжект когда есть vСontainer)

Соглы, но по нему не так много материалов, а опыта в зенджекс у меня мало

Александр
Я использую что то типа иерархической инициализаци...

Правильно это называется DI. Просто ручной с таким подходом )

Никита
Зачем зенжект когда есть vСontainer)

Так и не понял в чем его преимущества, просто то же самое но меньше фичей как по мне

Александр
Соглы, но по нему не так много материалов, а опыта...

У него есть прекрасная документация. Всё остальное — это базовое понимание работу DI. Реализации и подходы одинаковые везде.

Drawing Dead
Так и не понял в чем его преимущества, просто то ж...

Отсутствие легаси и намного более высокая производительность

Drawing Dead
Так и не понял в чем его преимущества, просто то ж...

Быстрее выше сильнее зенжекта и не тащит с собой тонну легаси которое может пригодиться одному разработчику из тысячи но которое все равно есть

Drawing Dead
Он без рефлексии вроде сделан да?

Без рефлексии такие вещи реализовать не получится ) Там есть AOT генератор

Никита
Быстрее выше сильнее зенжекта и не тащит с собой т...

боюсь представить сколько легаси в самом юнити зарыто

Drawing Dead
боюсь представить сколько легаси в самом юнити зар...

Ну с легаси юнитеков ты ничего не сделаешь, хотя они вроде как уже который год переписывают движок в преддверии релиза ecs плюс перехода с моно на дотнет, а вот выбрать между двумя di фреймворками ты можешь)

NaNaNaS
Можно поподробнее, как это работает?

https://freecontent.manning.com/dependency-injection-in-net-2nd-edition-understanding-the-composition-root/

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта