2024-11-20 20:21:10 +00:00

77 lines
2.3 KiB
C++

#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, BlueprintReadWrite)
FTransform mRelativeTransform;
/* If the cover should be a conveyor cover or a pipe cover */
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
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<TSubclassOf<UFGItemDescriptor>> 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<int, FRRDADSModAdapterInventorySlotAccess> mInventorySlots;
};