From 8d3cdacdb54bf332c41f7dcb269ecc799203150b Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Sun, 24 Nov 2024 02:35:47 +0000 Subject: [PATCH] fix: Fixed adapter covers inherited classes --- .../Subsystems/RRDADataAssetSubsystem.cpp | 16 +++++++++++++++- .../DataAssets/RRDADataAssetDSModAdapter.h | 8 ++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp b/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp index d0c3e03..ebe2bbd 100644 --- a/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp +++ b/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp @@ -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> BuildingClasses; + GetAllDSBuildingClasses(BuildingClasses); + + for (TSubclassOf TestBuildingClass : BuildingClasses) { + if (BuildingClass->IsChildOf(TestBuildingClass)) { + data = mDSBuildingData.Find(TestBuildingClass); + break; + } + } + } + + if (data == nullptr) { + return nullptr; + } URRDADataAssetDSAdapterCovers* DataAsset = data->AdapterCovers; if (!DataAsset) return nullptr; diff --git a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSModAdapter.h b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSModAdapter.h index 9bec8ae..54c2438 100644 --- a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSModAdapter.h +++ b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSModAdapter.h @@ -16,8 +16,8 @@ UCLASS() class REFINEDRDAPI_API URRDADataAssetDSModAdapter : public URRDADataAssetBase { GENERATED_BODY() -public: +public: /* The Building class to snap to when placing */ UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter") TSubclassOf mBuildingClass; @@ -29,12 +29,12 @@ public: /* Select which inventories can be accessed by Digital Storage */ UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter") TArray mInventoryAccess; - - UPROPERTY( meta=(NoAutoJson = true) ) + + UPROPERTY(BlueprintReadOnly, meta=(NoAutoJson = true)) bool mOverrideNetworkConnectionTransform = false; /* By default the adapter will use the Power Connection Components transform for the Network Connection Component transform. Override this and manually set the transform */ - UPROPERTY( EditDefaultsOnly, BlueprintReadOnly, Category = "ModAdapter", meta = ( EditCondition = mOverrideNetworkConnectionTransform ) ) + UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "ModAdapter", meta = ( EditCondition = mOverrideNetworkConnectionTransform )) FTransform mNetworkConnectionRelativeTransform; };