[언리얼 엔진] TSubclassOf
- ⭐ Game Programming/Unreal Document
- 2021. 11. 18.
TSubclassOf
TSubclassOf는 UClass 유형의 안전성을 보장해주는 템플릿 클래스이다.
특정(UDamageType) 파생 클래스만 할당하기를 바랄 때 사용한다. 그러면 에디터의 프로퍼티 창에 해당 클래스의 파생 클래스만 선택되도록 한다.
/** type of damage */
UPROPERTY(EditDefaultsOnly, Category=Damage)
TSubclassOf<UDamageType> DamageType;
이러한 UPROPERTY 안전성의 추가로, C++ 수준에서의 유형 안전성도 확보할 수 있다. 비호환 TSubclassOf 유형을 할당하려는 순간 컴파일 오류가 발생한다. 범용적인 UClass를 할당하려고 할 때, 할당이 가능한지 검증을 실행시간에 검사를 한다. 검사에 실패하면 nullptr를 반환한다.
UClass* ClassA = UDamageType::StaticClass();
TSubclassOf<UDamageType> ClassB;
ClassB = ClassA; // Performs a runtime check
TSubclassOf<UDamageType_Lava> ClassC;
ClassB = ClassC; // Performs a compile time check
문서
반응형