Добавлен Haikyo
Есть moving system, сделанная из таймера и структуры. Эта система просто двигает один объект к другому с указанной скоростью.
Условно:
У пяти разных юнитов есть 5 разных снарядов, которые имеют 5 разных эффектов при столкновении, и которые движутся с помощью moving system.
То есть когда снаряд перестает двигаться, то есть достигает цели, структура уничтожается, и в этот момент мне нужно воздействовать на цель снаряда, на сам снаряд и на хозяина снаряда.
У пяти разных юнитов есть 5 разных снарядов, которые имеют 5 разных эффектов при столкновении, и которые движутся с помощью moving system.
То есть когда снаряд перестает двигаться, то есть достигает цели, структура уничтожается, и в этот момент мне нужно воздействовать на цель снаряда, на сам снаряд и на хозяина снаряда.
Я не хочу захламлять структуру или создавать разные структуры для разных способностей, поэтому я ищу способ при уничтожении структуры moving system запускать разные функции и передавать в них необходимые данные.
Что я делаю: (временно назовем структуру, двигающую объект, структурой A)
Сохраняю необходимые данные в структуру B (включая сам снаряд).
При создании структуры A также передаю ей abilID, хранящий в себе айди пустой способности, которую можно кастовать на юнита.
При уничтожении структуры А (то есть при столкновении снаряда с целью) создаю дамми-юнит, даю ему способность abilID и заставляю дамми кастовать abilID на снаряд.
При касте способности реагирует соответствующий триггер и запускает нужную мне функцию. В этой функции GetSpellTargetUnit() будет моим снарядом. Перебором структуры B я получаю нужные данные и теперь могу делать, что хочу.
Поскольку я могу передавать структуре разные abilID, в результате будут вызываться разные функции.
Так вот. Я уверен на 100%, что это весьма конченный способ. Подскажите, как можно добиться того же результата более легким способом?
Сохраняю необходимые данные в структуру B (включая сам снаряд).
При создании структуры A также передаю ей abilID, хранящий в себе айди пустой способности, которую можно кастовать на юнита.
При уничтожении структуры А (то есть при столкновении снаряда с целью) создаю дамми-юнит, даю ему способность abilID и заставляю дамми кастовать abilID на снаряд.
При касте способности реагирует соответствующий триггер и запускает нужную мне функцию. В этой функции GetSpellTargetUnit() будет моим снарядом. Перебором структуры B я получаю нужные данные и теперь могу делать, что хочу.
Поскольку я могу передавать структуре разные abilID, в результате будут вызываться разные функции.
Так вот. Я уверен на 100%, что это весьма конченный способ. Подскажите, как можно добиться того же результата более легким способом?
Принятый ответ
способ 1
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован nvc123
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
Отредактирован Clamp
Отредактирован nvc123
Clamp:
про модули не понял
Модули.