Как передать структуру в действие триггера?

Добавлен
Я создаю систему снарядов. У меня возникли проблемы с "детонацией" снаряда. Чтобы определить, должен ли снаряд взорваться, я динамически регистрирую событие:
call TriggerRegisterUnitInRange(<универсальный триггер>, <конкретный юнит-снаряд>, <радиус>, null)
Данные о снаряде хранятся в структуре: дамми юнит, скорость, урон, радиус и прочее. Когда событие диспетчеризируется, мне нужны все эти данные. Спрашивается, как в действии триггера мне запросить структуру?
Подробнее
Создается снаряд. На нём регистрируется событие:
call TriggerRegisterUnitInRange(<триггер>, <созданный снаряд>, <радиус>, <тут может быть фильтр>)
Когда в обозначенный <радиус> входит юнит, мне нужно произвести ряд действий, для которых мне требуется структура. И как мне эту структуру запросить?
Я вижу только два пути.
Во-первых, это хэш. Однако непонятно, какой ключ нужно использовать для сохранения и как потом загрузить именно ту структуру, которую нужно.
Во-вторых, сохранять созданную структуру в массив. Но опять не понятно, как потом запросить именно ту структуру, которую нужно. Да и с удалением могут возникнуть проблемы.
Возможно я что-то принципиально делаю не так. Просветите меня, пожалуйста.

Принятый ответ

bladget, блин, посмотри как все делают, примеров 100500.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
24
11 лет назад
1
Во-первых, это хэш. Однако непонятно, какой ключ нужно использовать для сохранения и как потом загрузить именно ту структуру, которую нужно.
Хендл юнита, очевидно же ._.
1
22
11 лет назад
1
Какого? Снаряда? И как мне к нему обратится тогда?
1
28
11 лет назад
1
записываеш на хендл снаряда а обращаешся через хэндл GetTriggerUnit()
1
22
11 лет назад
1
GetTriggerUnit() в действии события call TriggerRegisterUnitInRange(...) возвращает юнита, который вошел в радиус вокруг снаряда, а не снаряд. Получателем события (кажется так это называется) является дамми-снаряд.
+
Я подкорректировал вопрос. Надеюсь теперь меня лучше поймут.
1
28
11 лет назад
1
тогда хэндл юнита находящегося на расстояние (расстояние детонации) от GetTriggerUnit() с равкодом снаряда
а да ещё проверь чтобы снаряды не принадлежали владельцу GetTriggerUnit() и его союзникам
1
22
11 лет назад
1
Это как-то слишком криво. Делают же коллизии в системах имитирующих физику и делают красиво.
1
28
11 лет назад
1
чего это криво? а вобще насколько я знаю надо вешать на хэндл таймера
и если возле снаряда появляется юнит не снаряд врага то врывать снаряд и дестроить таймер
и ненадо делать отдельный тригер просто таймерами
1
24
11 лет назад
1
bladget, блин, посмотри как все делают, примеров 100500.
Принятый ответ
1
28
11 лет назад
1
согласен
если не найдёш не 1 из 100500 примеров пиши в личку сделаю для тебя пример
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.