Эвенты , делегаты , корутины

Общие вопросы о Unity3D

Эвенты , делегаты , корутины

Сообщение Cybernoise 22 ноя 2013, 20:49

Доброго времени суток , очень хотелось бы уточнить некоторые вещи :

1)Делегаты . Долго ли идет вызов функции через делегат ? Например есть следующий код :

if(a == 1)
Do1();
else if(a == 2)
Do2()
else if (a == 3)
Do3();
...
...

Переменная "а" меняются редко.
Хочу убрать эти ежекадровые проверки и просто вызывать 1 делегат Do() который бы принимал адресс нужной функции когда переменная "а" меняется. Выгодно ли это?

2)Корутины. Цель такая - полностью избавиться от Update(), но вот незнаю будет ли от этого лучше т.к. незнаю насколько быстро происходит запуск корутины , возврат в неё после паузы а также стоит ли её применять для небольших кусков кода ?

3)Где и когда выгодно использовать эвенты ?
Последний раз редактировалось Cybernoise 22 ноя 2013, 21:41, всего редактировалось 1 раз.
Аватара пользователя
Cybernoise
UNITрон
 
Сообщения: 262
Зарегистрирован: 12 июн 2013, 13:43
Откуда: Одесса
Skype: Mister4ui

Re: Эвенты , делегаты , корутины

Сообщение porcha 22 ноя 2013, 22:01

3)Где и когда выгодно использовать эвенты ?
^
думаю там где треубется проверять необходимо ли объекту обрабатывать некое событие.
Например: герой умер - кинуть событие, все обработчики его приняли - у всех высветелось имя убитого.
GameDev Проект
porcha
UNITрон
 
Сообщения: 188
Зарегистрирован: 28 мар 2013, 19:47

Re: Эвенты , делегаты , корутины

Сообщение DbIMok 22 ноя 2013, 23:04

Cybernoise писал(а):Выгодно ли это?

делайте так, как вам удобнее. не нужно заниматься преждевременной оптимизацией. тем более там, где разница от силы в десятках тиков. если вопрос теоретический, то пара десятков строк кода и вы будете знать точную разницу "из первых рук", а не со слов какого-либо "эксперта".
Cybernoise писал(а):Корутины

это тот же Update, просто записанный в другой форме, удобной для записи и восприятия человеком. что делать см. выше
viewtopic.php?f=87&t=11811
Cybernoise писал(а):Где и когда выгодно использовать эвенты ?

вам виднее, где. это просто один из вариантов со своими плюсами и минусами.
viewtopic.php?f=105&t=15406

начинать нужно с задачи (создать приложение быстро/дешево/качественно), и уже в результате ее анализа выбирать инструмент. сами по себе инструменты бесполезны. тем более, примененные в неправильный момент в неправильном месте просто потому, что они (инструменты), по мнению применяющего, обладают какой-то магической силой.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13