template<typename T>
T* GetCDOfromBP(UBlueprint* Blueprint)
{
if (Blueprint==nullptr)
{
return nullptr;
}
const UClass* BlueprintClass = Blueprint->GeneratedClass;
return Cast<T>(BlueprintClass->ClassDefaultObject);
}
UBlueprint* GetBPfromCDO(UObject* OBJ)
{
UBlueprint* BP = nullptr;
if (OBJ != nullptr)
{
BP = Cast<UBlueprint>(OBJ);
if (BP == nullptr)
{
BP = Cast<UBlueprint>(OBJ->GetClass()->ClassGeneratedBy);
}
}
return BP;
}