TSubclassOf
TSubclassOf<> 成员使你可以蓝图中通过下拉菜单指定UClass (类类型)
FStringClasReference
MetaClass标记限制下拉菜单显示指定的C++子类类型。
通过这两个形式就可以在UE4编辑器中动态指定类类型,并根据这些类型做一些生成对象等相关的操作。
实现代码如下
UCLASS()
class LEARNUE4CPP_API ALearnUE4CppGameMode : public AGameMode
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Unit)
TSubclassOf<UObject> UClassOfPlayer; // UObject及其任意子类的类类型引用
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (MetaClass = "Actor"), Category = Unit)
FStringClassReference UClassActor; // Actor及子类的类引用 (字符串到类的引用)
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (MetaClass = "GameMode"), Category = Unit)
FStringClassReference UClassGameMode; // GameMode及子类的类引用 (字符串到类的引用)
};
</