在UE的C++编程中,通常使用UPROPERTY(EditAnywhere)宏将属性公开给UE编辑器,使得可以在UE编辑器中对这些属性进行修改,避免了多次编译的繁琐,这个宏也有一些说明符,不同的含义
- EditAnywhere
- 括号中必须有这个说明符方可公开给编辑器并且可编辑该属性
-
UPROPERTY(EditAnywhere) int32 TotalDamage;
- BlueprintReadWrite
- 带有Blueprint前缀的,是将该属性公开给蓝图,可在蓝图图表中进行读写
-
UPROPERTY(EditAnywhere, BlueprintReadWrite) int32 TotalDamage;
- BlueprintReadOnly
- 跟上面可读写有区别,仅仅是可读,不可在蓝图图表中进行修改,相当于常量
- VisibleAnywhere
- 说明该属性被标记可见,但不可编辑
- Transient
- 说明该属性不会保存或者从磁盘加载,相当于该值是其他值通过计算而得,没有存储的必要
-
UPROPERTY(EditAnywhere, VisibleAnywhere, Transient, Category = "伤害") int32 TotalDamage;
- Category
- 分类,希望该属性出现在某个部分中,可以添加此说明符,如下,TotalDamage就会出现在“伤害”类别下面
-
UPROPERTY(EditAnywhere, Category = "伤害") int32 TotalDamage;