From d4167cfd88aaddac418a4fac5a1bfc133092ca5e Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Tue, 12 Nov 2024 13:45:38 +0000 Subject: [PATCH] feat: More options on DS assets --- .../DataAssets/RRDADataAssetDSAdapterCovers.h | 6 +-- .../RefinedRDApi/Public/Enums/RRDADSEnums.h | 4 +- .../Public/Structs/RRDADSStructs.h | 42 ++++++++++++++++++- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h index 3247657..3f5318b 100644 --- a/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h +++ b/Source/RefinedRDApi/Public/DataAssets/RRDADataAssetDSAdapterCovers.h @@ -17,11 +17,11 @@ class REFINEDRDAPI_API URRDADataAssetDSAdapterCovers : public URRDADataAssetBase GENERATED_BODY() public: - /* The building class this adapter cover belongs to */ + /* The building class these adapter covers belongs to */ UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="AdapterCovers") TSubclassOf mBuildableClass; - /* The offsets to place the cover mesh from the buildings origin */ + /* An array of covers to place on the buildable connections */ UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="AdapterCovers") - TArray mConnectionOffsets; + TArray mCovers; }; diff --git a/Source/RefinedRDApi/Public/Enums/RRDADSEnums.h b/Source/RefinedRDApi/Public/Enums/RRDADSEnums.h index 8a870dd..8f4cb74 100644 --- a/Source/RefinedRDApi/Public/Enums/RRDADSEnums.h +++ b/Source/RefinedRDApi/Public/Enums/RRDADSEnums.h @@ -3,9 +3,9 @@ #include "CoreMinimal.h" UENUM(BlueprintType) -enum class ERRDADSInventorySlotAccess : uint8 +enum class ERRDADSInventorySlotAccessInteraction : uint8 { - None, + Ignore, ImportToNetworkFromSlot, ExportFromNetworkToSlot, }; \ No newline at end of file diff --git a/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h b/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h index 22b0c2e..ab814b4 100644 --- a/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h +++ b/Source/RefinedRDApi/Public/Structs/RRDADSStructs.h @@ -2,11 +2,12 @@ #include "Enums/RRDADSEnums.h" #include "Math/Transform.h" +#include "Resources/FGItemDescriptor.h" #include "RRDADSStructs.generated.h" USTRUCT(BlueprintType) -struct REFINEDRDAPI_API FRRDADSAdapterOffset +struct REFINEDRDAPI_API FRRDADSAdapterCoverDetails { GENERATED_BODY() @@ -20,12 +21,49 @@ public: bool bIsConveyor = true; }; + +USTRUCT(BlueprintType) +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; + + /* Select the item resource form that will be displayed in the digital storage UI + This will only display items of this form when players search for an item. + */ + UPROPERTY(EditDefaultsOnly) + EResourceForm mSlotItemForm = EResourceForm::RF_SOLID; + + 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 */ + UPROPERTY(EditDefaultsOnly, meta=(EditCondition = mOverrideItemFilter)) + TArray> mItemFilter; +}; + USTRUCT(BlueprintType) 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; @@ -36,5 +74,5 @@ public: /* The Inventory slots to allow access to Digital Storage */ UPROPERTY(EditDefaultsOnly) - TMap mInventorySlots; + TMap mInventorySlots; };