толи плохо искал, толи не знаю что искать, не нашел ответа.
1) можно ли получить ссылку на конкретный блюпринт (DataAsset) в с++?
1.1) можно ли сделать uproperty() для конкретного блюпринт (DataAsset) ?
если наследует от (С++)PrimaryDataAsset->(BP)DA_BaseItem->(BP)DA_Props, и нужен конкретно (BP)DA_Props.
1.2) можно ли создать uproperty() для созданных в едиторе структур\enum?
jora-Ph
> можно ли получить ссылку на конкретный блюпринт (DataAsset) в с++?
как понять ссылку на дата ассет(файл) ? Его имя, путь или что ?
https://forums.unrealengine.com/t/get-assets-by-class-how-to-find… lass/687899/5
И получить по каким данным ?
Get All Loaded Assets
jora-Ph
> толи не знаю что искать
Зачем тебе вообще это всё ?
endeavour_pr
> как понять ссылку на дата ассет(файл) ? Его имя, путь или что ?
оу, это я свои нубские мысля не отформатировал... под ссылкой я имею ввиду блюпринтовый reference? указатель? переменную в которой хранится нужный объект.
endeavour_pr
> Зачем тебе вообще это всё ?
для общего развития...
решил облагородить редактирование инстансов, в едиторе, не рантайм, дабы при создании предмета в деталях выводились только нужные параметры, а остальное скрывалось, в блюпринтах такого не завезли.
пока превозмогал в с++ подумал, что было бы хорошо указывать не с++ классы, а указывать их "блюпринт" версию, влажные мечты так сказать, остальное побочные вопросы .
jora-Ph
>указывать не с++ классы, а указывать их "блюпринт" версию
Тебе походу TSubclassOf надо. Напрямую доступ к блюпринтовым переменным и функциям не даст, но сможешь не на прямую БП класс контролировать из срр
Tony Lynx
это понятно, с обработкой С++ классов проблем пока нет.
jora-Ph
> решил облагородить редактирование инстансов, в едиторе, не рантайм
т.е. в рантайме едитора
jora-Ph
> можно ли получить ссылку на конкретный блюпринт (DataAsset) в с++?
Это можно сделать при помощи ConstructorHelpers::FObjectFinder
Пример
PlayerWeaponTable = ConstructorHelpers::FObjectFinder<UDataTable>(TEXT( "/Game/Config/DT_PlayerWeapon")).Object;
но есть нюансы, твой блюпринт должен быть от наследован от нативного класса, к которому "привязаны" интересующие тебя свойства и методы https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/… e/Properties/
totoro
спасибо, пригодится, но не то... я вроде даже пытался использовать FObjectFinder но что то пошло не так.
использую meta AllowedClasses\EditCondition фильтра и вывода переменных.
полагаю вопрос закрыт.
ибо я хотел создать в с++ переменную с типом конкретного блюпринта, у которого нет своего с++ класса, или он просто Actor, с доступом к его функциям и переменным.
хотя мне не ясно почему, файл есть, путь есть.
еще больше мне не понятно почему две одинаковых struct\enum из с++ и BP не совместимы между собой, они же одинаковые!
Тема в архиве.