Novikov
Kicked by GadenbIsh
offline
Опыт:
417Активность: |
Передача данных из одного триггера в другой (без глобальных переменных)
Вот у меня такой вопрос. Действие триггера начинается со строчки:
function Trig_MyTrig_Actions takes nothing returns nothing То есть триггер ничего не берёт и ничего не возвращает. Но что если я хочу запустить триггер MyTrig из другого триггера и при этом передать в него какие-нибудь данные. Вот, например, у меня есть триггер, который «отлавливает» юнита (по какому-нибудь признаку). А теперь я хочу передать этого юнита в триггер MyTrig. Неужели каждый раз для этого нужно создавать глобальную переменную? |
27.06.2011, 16:28 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Voldislav
Solitude
offline
Опыт:
1,051Активность: |
Функция с действиями триггера не может брать какие-то значения. Делай отдельную функцию. |
27.06.2011, 16:43 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
vladfaust
offline
Опыт:
12,764Активность: |
нет, не обязательно.
» Опасно!
Заноси данные из первого триггера в хеш, старти таймер с указанием 2-го триггера, как ключ указывай ид таймера и уже во 2-м триггере выуживай инфу. Хэш тебе в помощь |
27.06.2011, 16:50 | #3
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
prog
offline
Опыт:
32,865Активность: |
Head_Hunter_44, а можно еще круче - привязывать по хендлу триггера без всяких дурацких таймеров... Но все это имеет смысл ТОЛЬКО при асинхронном вызове - если используется синхронный вызов то лучше использовать следующее:
так реализованы все BJ ф-ции в которых нужна передача данных (в основном работа с группами) |
27.06.2011, 17:30 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Цитата:
Код:
Никаких хешей, глобалок. Если нужно передать несколько данных, то и пишим у функции что функция берет takes несколько значений. Код:
Отмечу что функция может возвращать(return) только 1 значение. |
|
27.06.2011, 18:54 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
naxim
offline
Опыт:
10,186Активность: |
Создай takes Unit и когда не нужно ничего передавать - передавай null |
27.06.2011, 22:12 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|