1,100,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C' 2,200,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C' 其中BP_DataTableTest是一个继承自AActor的一个蓝图类,BP_Data...
FString Name;UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="DataTable Test")int32 HP;}; #include "BPLibrary.h"DEFINE_LOG_CATEGORY(DemoLog);void UBPLibrary::TestLoadTable(){UDataTable*pDataTable=LoadObject<UDataTable>(NULL,UTF8_TO_TCHAR("DataTable'/Game/MyTable.MyTable'"));FString ...
1,100,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C' 2,200,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C' 其中BP_DataTableTest是一个继承自AActor的一个蓝图类,BP_Data...
1,100,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C'2,200,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C'其中BP_DataTableTest是⼀个继承⾃AActor的⼀个蓝图类,BP_...
定义变量尽量用基类,方便后期变化 蓝图函数库 C++代码里尽量不要写数据配置。尝试数据驱动。C++->BP->DataTable C++定义基类 + 蓝图继承 一些牛逼的概念 一切从 GEngine 开始:UEngin* GEngine 从GEngine开始可以获得很多 Worlds 获取游戏视口进行 Slate 叠加或截图GEditor 对做编辑器扩展很有用:UEditorEngine* GEdi...
其中BP_DataTableTest是一个继承自AActor的一个蓝图类,BP_DataTableTest_C是实际生成的蓝图类。 对应的C++代码如下所示: /** 注意此结构体中的成员变量的名字要跟csv表中的相同,因为它是UE4里面是通过反射系统来实现数据的 初始化的,当然名字不同也可以,但是它的元数据中的DisplayName就必须跟表中的字段值对应...
FDataTableManager数据结构很简单,这里主要提及几个重要的点。 ReadLine是后面DataTable读取数据表的方法,这个是根据你的表结构自定义的,后面会把我的实现贴出来。 这里TMap中的key值选择的是typeid(TDataRow).hash_code(),因为每个DataTable所对应的行数据类型一定是唯一的类型。注意TMap的Key类型必须实现GetHashType...
DefinedStruct.h"#include"Runtime/Engine/Classes/Engine/DataTable.h"#include"Runtime/CoreUObject/Public/UObject/ObjectMacros.h"#include"MiniMapFlagData.generated.h"/*BlueprintType:暴露成为蓝图数据类型,蓝图变量可以使用该结构体作为数据类型*/USTRUCT(BlueprintType)structFUMiniMapFlagDataC :publicFTable...
并且结构体如果继承FTableRowBase,那么在创建DataTable时可以以该结构体为基础创建datatable. (2)如果结构体仅在C++使用,也可以使用C++原生结构体: structPrimaryStruct{intnumber=0;boolbStruct=true;PrimaryStruct(){};PrimaryStruct(intnum,boolbstruct):number(num),bStruct(bstruct){};//有参构造函数}; ...
"MiniMapFlagData.generated.h" /*BlueprintType:暴露成为蓝图数据类型,蓝图变量可以使用该结构体作为数据类型*/ USTRUCT(BlueprintType) struct FUMiniMapFlagDataC : public FTableRowBase { GENERATED_USTRUCT_BODY() //小图标 UPROPERTY(EditAnywhere, BlueprintReadWrite) UUserWidget* flag; //小图标对应的...