知道行和列的索引如何获取uec++ 中的UDataTable中的内容
时间: 2024-02-04 07:04:20 浏览: 166
要获取UE4中UDataTable中的内容,需要使用UDataTableFunctionLibrary类中的静态函数GetDataTableRowFromName,该函数需要传入UDataTable对象、FName类型的RowName以及一个用于存储返回值的结构体类型参数。示例代码如下:
```cpp
#include "MyDataTable.h" //自己定义的数据表结构体头文件
#include "Engine/DataTable.h"
#include "Kismet/KismetSystemLibrary.h" //UE4自带的SystemLibrary头文件
//获取数据表行数据
FMyDataTableRow UMyGameInstance::GetDataTableRow(FName RowName)
{
UDataTable* DataTable = LoadObject<UDataTable>(NULL, TEXT("DataTable'/Game/DataTables/MyDataTable.MyDataTable'"), NULL, LOAD_None, NULL);
FMyDataTableRow* RowData = DataTable->FindRow<FMyDataTableRow>(RowName, FString(""));
if (RowData != nullptr)
{
return *RowData;
}
else
{
//找不到该行数据,返回一个默认值
FMyDataTableRow DefaultRowData;
return DefaultRowData;
}
}
```
这里的FMyDataTableRow是自己定义的结构体类型,用于存储数据表中的一行数据。在函数中,先通过LoadObject函数加载数据表对象,然后使用GetDataTableRowFromName函数获取指定行的数据,最后将获取到的数据转换成FMyDataTableRow类型并返回。如果获取失败则返回一个默认值。
阅读全文