UE4 C++读数据表格

阅读: 评论:0

UE4 C++读数据表格

UE4 C++读数据表格

UE4 C++读数据表格

结构体:
要继承 FTableRowBase
才可以被数据表格获取
USTRUCT(BlueprintType)
struct FST_EnemyState : public FTableRowBase
{GENERATED_BODY()UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="序号") int Index;UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="名称") FString Name=TEXT("敌人");
};
	就选择刚创建的结构体

数据表格添加写数据

C++里写个函数在BeginPlay()执行就行了
UDataTable* const UserInfoDataTable = LoadObject<UDataTable>(this, TEXT("DataTable'/Game/1game/enemy/Kuluo/Table_Enemy.Table_Enemy'"));if (UserInfoDataTable){//输出所有的名称for (FName RowName : UserInfoDataTable->GetRowNames()){UKismetSystemLibrary::PrintString(GetWorld(), RowName.ToString());FST_EnemyState* TestInfo = UserInfoDataTable->FindRow<FST_EnemyState>(RowName,TEXT("Index"));if (TestInfo){UKismetSystemLibrary::PrintString(GetWorld(), TestInfo->Name);}}//输出所有的名称for (auto it : UserInfoDataTable->GetRowMap()){FString RowName = (it.Key).ToString();FST_EnemyState* UserInfo = (FST_EnemyState*)it.Value;UKismetSystemLibrary::PrintString(GetWorld(), FString::Printf(TEXT("%s %s"), *RowName, *UserInfo->Name));}//读一条数据FST_EnemyState* TestInfo = UserInfoDataTable->FindRow<FST_EnemyState>(TEXT("2"),nullptr);if (TestInfo){UKismetSystemLibrary::PrintString(GetWorld(), TestInfo->Name);}}else{UKismetSystemLibrary::PrintString(GetWorld(), TEXT(" Not Find DataTable!"));}

本文发布于:2024-01-28 03:03:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063822104313.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:UE 基础
下一篇:UE5 存档 读档
标签:读数   表格
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23