UClass에 등록된 속성과 함수들은 TFieldIterator에 의해 모두 검색이 가능하다
ex)
UClass* ClassInfo1 = WebConnection->GetClass();
UClass* ClassInfo2 = UWebConnection::StaticClass();
for (TFieldIterator<UProperty> It(ClassInfo1); It; ++It)
{
AB_LOG(Warning, TEXT("Field : %s, Type : %s"), *It->GetName(), *It->GetClass()->GetName());
UStrProperty* StrProp = FindField<UStrProperty>(ClassInfo1, *It->GetName());
if (StrProp)
{
AB_LOG(Warning, TEXT("Value = %s"), *StrProp->GetPropertyValue_InContainer(WebConnection));
}
}
<UFunction 같은 경우 위처러 TFieldIterator<UFUNCTION>을 사용할 수 있으며,
아니면 아래 코드와 같이
NativeFunctionLookupTable 배열을 사용해 현재 클래스에 어떤 C++ 함수가 있는지 파악할 수 있습니다.
for (const auto& Entry : ClassInfo1->NativeFunctionLookupTable)
{
AB_LOG(Warning, TEXT("Function = %s"), *Entry.Name.ToString());
UFunction* Func1 = ClassInfo1->FindFunctionByName(Entry.Name);
if (Func1->ParmsSize == 0)
{
WebConnection->ProcessEvent(Func1, NULL);
}
}
'Unreal > Concept' 카테고리의 다른 글
ConstructorHelpers + 애셋 로딩 시점관련 (0) | 2019.05.28 |
---|---|
액터 검색 및 순회 방법 (0) | 2019.05.27 |
언리얼 엔진 소스 디버깅 하는 방법 (0) | 2019.05.23 |
깃허브 언리얼엔진 풀소스 C++ 빌드 (0) | 2019.05.23 |
깃허브 언리얼 소스 받는 방법 (0) | 2019.05.21 |