UNREAL UCLASS
1. UClass 类型对象可以在蓝图内访问
2. UClass类型的属性可以在蓝图内访问
3. UClass的方法可以在蓝图内被调用
4. UClass的生命周期由引擎内部管理,区别于普通于普通C++的class由new,delete控制
UClass的定义
1. 所有UClass在开头必须加入UClass()宏,指定这个类是一个虚幻的UClass
2. 类如果从UObject继承必须以大写U开头
3. 类如果从AActor继承必须以大写A开头
4. 从UObject继承来的类不能被放置到场景中去
5. 包含UClass定义的.h文件最后一个#include必须是<"你的class的名字">.generated.h
6. 类定义开头必须包含GENERATED_BODY()或GENERATED_UClASS_BODY()
UCLASS()的关键字
1. UCLASS()宏的括号内可以包含关键字
2. 关键字定义了这个UClass在编辑器内的表现形式
3. Blueprintable,NotBlueprintable:是否可以由蓝图继承此UClass
4. BlueprintType,NotBlueprintType:此类型是否可以声明为蓝图中的变量
5. 全部UCLASS关键字定义文件搜索ObjectMacros.h中namespace UC段
C++索引子类型
1. UPROPERTY(EditAnyWhere)
TSubclassOf<UUserProfile> UserProfileClass;
2.作为一个子类型变量,用来保存任何从<>中继承的子类型的UClass类型
UCLASS的创建
1. 使用引擎提供的NewObject<>模板方法
2. NewObject<>等价于C++中的new
3. NewObject<>只用于从UObject,AActor继承来的子类
UFUNCTION
1. 用来修饰C++内定义的函数
2. 通过定义关键字BlueprintCallable,来让函数可以在蓝图内被调用
未完