meta UENUM USTRUCT 补充说明
meta定义,蓝图UI操作中限制数值最大最小范围
UPROPERTY(EditAnywhere, Category = "Yeomai | Var001", meta = (ClampMin = 0.0f, ClampMax = 10.0f, UIMin = 0.0f, UIMax = 10.0f));
int32 intVariable;
meta其他一些常见属性标记
- BlueprintReadOnly: 只读属性,可以在蓝图中读取但不能写入。
- EditDefaultsOnly: 只能在默认值面板中编辑,无法在实例面板中编辑。
- VisibleAnywhere: 属性在编辑器中可见,但不可编辑。
- Category: 用于对属性进行分类,显示在编辑器中的不同面板中。
- DisplayName: 指定属性在编辑器中显示的名称。
- ToolTip: 提供属性的工具提示信息。
- Transient: 该属性不会被保存到实例或蓝图中,只存在于内存中。
- SaveGame: 该属性会被保存到游戏存档中。
- AssetRegistrySearchable: 允许该属性在资产注册表搜索中可见。
- NoClear: 防止在蓝图中清除该属性。
- SimpleDisplay: 在编辑器中以简单的方式显示该属性。
- AdvancedDisplay: 在编辑器中以高级方式显示该属性。
//蓝图生成时暴露(便于连接使用)
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category ="MyExposeOnSpawn", meta =(ExposeOnSpawn ="ExposeOnSpawnValue"))
float MyHealth;
枚举的另一种声明方式
UENUM (BlueprintType)
enum class EMyTestEnum :uint8
{
OneType UMETA(DisplayName = "OneType"),
TwoType UMETA(DisplayName = "TwoType"),
ThreeType UMETA(DisplayName = "ThreeType"),
};
//对应的枚举定义
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category ="MyEnum")
EMyTestEnum MyCustomEnum1;
结构体也可以接收数据表格
#include "Engine/Classes/Engine/DataTable.h"
USTRUCT(BlueprintType)
//继承于FTableRowBase类,所以需要引入 DataTable.h 数据表格头文件
struct FMyDateTableStruct: public FTableRowBase
{
GENERATED_USTRUCT_BODY()
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category ="MyTestDataTableStruct")
float Health;
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category ="MyTestDataTableStruct")
FString Name;
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category ="MyTestDataTableStruct")
int32 Level;
}