diff --git a/Source/RefinedRDApi/Private/DataAssets/RRDADataAssetDSAdapterCovers.cpp b/Source/RefinedRDApi/Private/DataAssets/RRDADataAssetDSAdapterCovers.cpp index afa4099..a37ba21 100644 --- a/Source/RefinedRDApi/Private/DataAssets/RRDADataAssetDSAdapterCovers.cpp +++ b/Source/RefinedRDApi/Private/DataAssets/RRDADataAssetDSAdapterCovers.cpp @@ -3,3 +3,14 @@ #include "DataAssets/RRDADataAssetDSAdapterCovers.h" +TArray URRDADataAssetDSAdapterCovers::GetWorldTransforms(FTransform OriginTransform) { + TArray transforms; + + for (FRRDADSAdapterCoverDetails CoverDetails : mCovers) { + FVector location = OriginTransform.TransformPosition(CoverDetails.mRelativeTransform.GetLocation()); + FQuat rotation = OriginTransform.TransformRotation(CoverDetails.mRelativeTransform.GetRotation()); + transforms.Add(FTransform(rotation, location, FVector(1.0f))); + } + + return transforms; +} diff --git a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h index 86047d7..d79f62a 100644 --- a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h +++ b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h @@ -17,11 +17,14 @@ class REFINEDRDAPI_API URRDADataAssetDSAdapterCovers : public URRDADataAssetBase GENERATED_BODY() public: + UFUNCTION(BlueprintPure, Category = "AdapterCovers") + TArray GetWorldTransforms(FTransform OriginTransform); + /* The building class these adapter covers belongs to */ - UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="AdapterCovers") + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="AdapterCovers") TSubclassOf mBuildingClass; /* An array of covers to place on the buildable connections */ - UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="AdapterCovers") + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="AdapterCovers") TArray mCovers; }; diff --git a/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h b/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h index ab814b4..f0cd5f4 100644 --- a/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h +++ b/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h @@ -13,11 +13,11 @@ struct REFINEDRDAPI_API FRRDADSAdapterCoverDetails public: /* The relative transform from the buildings origin */ - UPROPERTY(EditDefaultsOnly) + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) FTransform mRelativeTransform; /* If the cover should be a conveyor cover or a pipe cover */ - UPROPERTY(EditDefaultsOnly) + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) bool bIsConveyor = true; }; @@ -28,13 +28,12 @@ struct REFINEDRDAPI_API FRRDADSModAdapterInventorySlotAccess GENERATED_BODY() public: - /* A custom display name for the inventory slot that will be displayed in the digital storage UI. This makes it easier for players to understand what this slot is used for. */ UPROPERTY(EditDefaultsOnly) FText mInventorySlotDisplayName; - + /* Set how digital storage should interact with this inventory slot */ UPROPERTY(EditDefaultsOnly) ERRDADSInventorySlotAccessInteraction mInteraction = ERRDADSInventorySlotAccessInteraction::Ignore; @@ -45,7 +44,7 @@ public: UPROPERTY(EditDefaultsOnly) EResourceForm mSlotItemForm = EResourceForm::RF_SOLID; - UPROPERTY( meta=(NoAutoJson = true) ) + UPROPERTY(meta=(NoAutoJson = true)) bool mOverrideItemFilter = false; /* Limit the list of items this slot should contain, only items in this list will be displayed on the digital storage UI */ @@ -59,11 +58,10 @@ struct REFINEDRDAPI_API FRRDADSModAdapterInventoryAccess GENERATED_BODY() public: - /* A custom name that should be used in the digital storage UI, by default will use "Inventory 1" */ UPROPERTY(EditDefaultsOnly) FText mInventoryDisplayName; - + /* The Inventory Name to search for */ UPROPERTY(EditDefaultsOnly) FName mInventoryName;