TSubclassOf是提供 UClass 类型安全性的模板类 /**定义Damage */ UPROPERTY(EditDefaultsOnly, Category=Damage) UClass* DamageType; /**通过TSubclassOf定义damage */ UPROPERTY(EditDefaultsOnly, Category=Damage) TSubclassOf<UDamageType> DamageType; TSubclassOf的使用方法 TSubclassOf<UClass> DamageType1; ...
一开始先判断TSubclassOf<UXXXClass>xxx 中的UXXXClass是否是FField的子类,如果是的话则将TClassType视作FFieldClass,如果不是的话就将TClassType视作UClass。这一步用于判断UXXXClass到底是UClass还是FFieldClass。然后在对xxx赋值的时候如果传的类型相反,就会出现FFieldClass* Class=UClass* ???这种类型不匹配的...
TSubclassOf<AActor> ActorClassRef;// 获取UClass* 指针ClassRef = ActorClassRef.Get(); 构造时引用 **ConstructorHelpers::FObjectFinder<T>** 一般用来加载非蓝图资源 **ConstructorHelpers::FClassFinder<T>**一般用来加载蓝图资源并获取蓝图Class 蓝图文件路径_C,如 Blueprint'/Game/CPPFunction/Load/BP_My...
TSubclassOf<AActor> UnitSelectorClass = UnitSelector.Class; 1. 2. 另外注意:FClassFinder<T>的模版名称,不能直接写UBlueprint,例如:FClassFinder<UBlueprint>是错误的。创建蓝图时选择的是什么父类,则写对应的父类名,假如是Actor,那么要写成:FClassFinder<AActor>,否则无法加载成功。 使用TSubclassOf<T...
TSubclassOf是提供UClass类型安全性的模板类。 模板类告知编辑器的属性窗口,只显示派生自AFPSProjectileActor的类。同时,这个参数在代码中也只接受派生自AFPSProjectileActor的类。 当不加TSubclassOf模板类,则可以接受任何UClass。 UPROPERTY(EditDefaultsOnly, Category = Gameplay) ...
.h://控制器的类TSubclassOf<ABIMVRController>BIMVRControllerBP; .cpp:staticConstructorHelpers::FClassFinder<ABIMVRController>BIMVRControllerBPFinder(TEXT("Blueprint'/Game/VRPlayer/BIMVRController.BIMVRController_C'")); BIMVRControllerBP= BIMVRControllerBPFinder.Class; ...
{ } UE4 : UClass* ClassA = UDamageType::StaticClass(); TSubclassOf<UDamageType> ClassB; ClassB = ClassA; // Performs a runtime check TSubclassOf<UDamageType_Lava> ClassC; ClassB = ClassC; // Performs a compile time check
A,在copy reference出来的文件路径后面加_C,例如:Blueprint'/Game/Blueprints/MyBlueprint.MyBlueprint_C' static ConstructorHelpers::FClassFinder<AActor> UnitSelector(TEXT("Blueprint'/Game/Blueprints/MyBlueprint.MyBlueprint_C'")); TSubclassOf<AActor> UnitSelectorClass = UnitSelector.Class; ...
UE4中常用功能总结 //把内容浏览器里面的类生成到世界 TSubclassOf<AAICoverPointsGenerator> AAICoverPointsGeneratorClass = StaticLoadClass(AAICoverPointsGenerator::StaticClass(), nullptr, *FString(TEXT("/Game/Game/AI/AISegma/Exporter/BP_CoverPointGenerator.BP_CoverPointGenerator_C"))); checkf(AAICove...
TSubclassOf is a special template of UClass which only accepts specific subclasses of some base class. So it's still a UClass which is just a class specifier which you can spawn things from, but it ...