качестве массива акторов.UObject-ов в подсистеме game instance. Чтобы игра создавала копию этих скилов и, при необходимости, к ним обращалась. Чтобы, например, урон скила чекнуть, или список тегов. (предупреждая вопросы, там хранится все, что ПРЕДШЕСТВУЕТ скилу, именно графически, на карте, он другим актором спавнится)
Сами скилы - акторы, либо UObject. Собственно, массив из них хранится в game instance, т.к. анрил требует, что для обращения к функциям объектов, они должны существовать на сцене. Вот в game instance пускай и существуют.
У каждого НПС есть свой личный массив доступных ему в данный момент скилов. Это массив из переменных, позволяющих идентифицировать этот скил, чтобы обратиться к game instance и достать оттуда нужный скил (actor/game instance). Пример: урон посчитать, ДО применения, когда НПС решает, что ему кастовать, и ему надо узнать, что урона больше нанесет.
Вопрос: что лучше всего использовать в качестве этой идентифицирующей переменной, и как? Условно, получаю эту переменную - и исходя из нее, кастую к нужному элементу массива акторов в game instance.
А то если без них, то мне придется тупо копии самих скилов (акторов) в каждом НПС прописывать. Излишняя трата памяти.
Может тебе систему скиллов переписать на компонент?
Не знаком с GAS, использую в основном компоненты. Те же квесты, иконки на мини-карте компонентами. Компонент легко привязать к чему угодно.
Ну так есть же enumerator ы
Каждому скилу своё строковое название в перечислении.
А как из энумерации потом обратиться к конкретному актору (из массива акторов в game instance)? Условно, НПС имеет массив энумерации. Он хочет проверить скил "fireball". Как он соотнесет значение enum "fireball" и актор "fireball"? Актор находится в массиве акторов в game instance, enum в массиве энумов в НПС Разве можно энумерацию с именем скила как либо сравнить?
Попробуй посмотреть туторы по созданию системы оружия для игрока. Чтобы наглядно увидеть реализацию. Как бы способы разные есть, можно мапу, можно вообще через дататэйбл. Возможно ещё какой другой вариант для себя найдеш, я хз как там у тебя эти экторы используются.
Вот я оружие, квесты, инвентарь и так далее делаю через дататабл. Удобно.
Ну у мну тож используется для оружия, но если честно имхо дата тэйбл в анриле какой-то недоделанный 🤨 может конечно это мне просто кажется после sql
Ну хз. Сам с SQL работал)
Ты жопу с пальцем-то не сравнивай 😆
Просто не хватает хоть каких то базовых иструментов что ли. Хотя я сильно не искал, могет какие плагины есть чтоб мини субд сделать.
Да ещё как не хватает, я тебе о том и говорю, что DataTable в анриле - это просто, чтобы хоть что-то было. Ни о каких связях там речи в помине нет, но в принципе всё это поверх пишется, относительно на приемлемом уровне. Спасибо, что есть мета тэг GetOptions, можно хоть ограничить опции выбора при связи таблиц
а вообще в посте много непоняток. Как связаны там "сцена" и гейм инстанс. Зачем кастовать "к элементу массива". Зачем мешать разные классы в едином списке скиллов. и т.д. и т.п.
Если все это расписывать, то ТЗ на 2 страницы выйдет, я ограничить постарался. Если прям вкратце - то такова специфика реализации скилов, т.к. их используют НПС по усложненной схеме - ИИ не использует скилы напрямую, он посылает сигнал "использовать что нить с этим, этим и вот этим", а НПС сам ищет, что у него естьиз похожего.
так это никак не отвечает на вопросы)
Обсуждают сегодня