[UE]反射
2020/04
03
19:04
UFunction *Injured = this->FindFunction(TEXT("Injured"));
if (Injured)
{
ProcessEvent(Injured, nullptr);
}
UObject::FindFunction 提供了查找本类函数的功能
AActor::ProcessEvent 提供了执行函数的功能
可以通过使用UTypeName::StaticClass()或者FTypeName::StaticStruct()来获取反射类型对应的UClass以及UScriptStruct
迭代一个UStruct的所有成员,可以使用TFieldIterator:
for (TFieldIterator<UProperty> PropIt(GetClass()); PropIt; ++PropIt)
{
UProperty* Property = *PropIt;
// Do something with the property
}