I have a data table with substructure
I want to get data from substruct by c++
.h
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "CPP")
UDataTable* mainDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "CPP")
UScriptStruct *childStructure;
.cpp
Array<UProperty*> StructProps;
for (TFieldIterator<UProperty> It(mainDataTable->RowStruct); It; ++It)
{
UProperty* Prop = *It;
check(Prop != NULL);
StructProps.Add(Prop);
}
for (auto RowIt = mainDataTable->RowMap.CreateConstIterator(); RowIt; ++RowIt)
{
FName RowName = RowIt.Key();
uint8* RowData = RowIt.Value();
TArray<FString> RowResult;
for (int32 PropIdx = 0; PropIdx < StructProps.Num(); PropIdx++)
{
RowResult.Add(DataTableUtils::GetPropertyValueAsString(StructProps[PropIdx], RowData, EDataTableExportFlags::UsePrettyPropertyNames));
UE_LOG(LogTemp, Warning, TEXT(" Data is %s "), *RowResult[PropIdx]);
}
};
As result:
((subID_21_EA858A024BE911086663D09C41B94F25=1,subName_2_CDE3F7FF4596852694C8BEA5531EEF5F=name1),(subID_21_EA858A024BE911086663D09C41B94F25=2,subName_2_CDE3F7FF4596852694C8BEA5531EEF5F=name2))
How I can get data by name, like subRowData.subID?