#pragma once #include "Enums/RRDADSEnums.h" #include "Math/Transform.h" #include "Resources/FGItemDescriptor.h" #include "RRDADSStructs.generated.h" USTRUCT(BlueprintType) struct REFINEDRDAPI_API FRRDADSAdapterCoverDetails { GENERATED_BODY() public: /* The relative transform from the buildings origin */ UPROPERTY(EditDefaultsOnly) FTransform mRelativeTransform; /* If the cover should be a conveyor cover or a pipe cover */ UPROPERTY(EditDefaultsOnly) 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; /* The Inventory index to search for in case couldn't find by name */ UPROPERTY(EditDefaultsOnly) int mInventoryIndex = 0; /* The Inventory slots to allow access to Digital Storage */ UPROPERTY(EditDefaultsOnly) TMap mInventorySlots; };