fix: Fixed adapter covers inherited classes

This commit is contained in:
mrhid6
2024-11-24 02:35:47 +00:00
parent 1a87649dc6
commit 8d3cdacdb5
2 changed files with 19 additions and 5 deletions

View File

@@ -270,7 +270,21 @@ URRDADataAssetDSAdapterCovers* URRDADataAssetSubsystem::GetDSAdapterCoverDataAss
if (!BuildingClass) return nullptr;
const FRRDADataHolderDSBuildingData* data = mDSBuildingData.Find(BuildingClass);
if (data == nullptr) return nullptr;
if (data == nullptr) {
TArray<TSubclassOf<AFGBuildableFactory>> BuildingClasses;
GetAllDSBuildingClasses(BuildingClasses);
for (TSubclassOf<AFGBuildableFactory> TestBuildingClass : BuildingClasses) {
if (BuildingClass->IsChildOf(TestBuildingClass)) {
data = mDSBuildingData.Find(TestBuildingClass);
break;
}
}
}
if (data == nullptr) {
return nullptr;
}
URRDADataAssetDSAdapterCovers* DataAsset = data->AdapterCovers;
if (!DataAsset) return nullptr;