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

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

25 ответов

41 просмотр

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

Илья-Повстяный Автор вопроса
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/

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта