USTRUCT宏收缩与指定某些设置和属性
注意,只有USTRUCT的UPROPERTY变量才被考虑到复制
只有SPROPERTY宏标记的USTRUCT才能被计入垃圾回收
当在虚幻引擎中声明一个USTRUCT时,可以添加一个属于虚幻引擎的struct trait系统的NetSerialize方法,如果定义了这个方法,在属性复制和RPC之间,引擎会在struct序列化和反序列化的时候调用它
有效关键字
-
Atomic
表示这个结构应该总是作为一个单元序列化 -
BlueprintType
将此结构公开为蓝图中变量的类型 -
Immutable
在Object.h中只是合法的,正在被弃用 -
NoExport
没有自动生成的代码将被创建为这个类,头只是用来提供解析元数据的
USTRUCT(BlueprintType)
struct FPerson
{
GENERATED_USTRUCT_BODY()
UPROPERTY()
int32 P_ID;
UPROPERTY()
FName P_Name;
UPROPERTY()
FString P_Direction;
UPROPERTY()
AActor* SelfPointer;
void SetP_Name(FName In_Name) { P_Name = In_Name; }
AActor* GetSelfPointer() { return SelfPointer; }
FPerson()
{
P_ID = 0;
P_Name = TEXT("snowing");
P_Direction = TEXT("this is a dog");
SelfPointer = nullptr;
}
};