feat: Item filters
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "DataAssets/RRDADataAssetBase.h"
|
||||
#include "Resources/FGItemDescriptor.h"
|
||||
#include "RRDADataAssetDSItemFilter.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class REFINEDRDAPI_API URRDADataAssetDSItemFilter : public URRDADataAssetBase
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
/* The Building class this item filter should be used on */
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ItemFilter")
|
||||
TSubclassOf<AFGBuildableFactory> mBuildingClass;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ItemFilter")
|
||||
int mInventoryIndex = 0;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ItemFilter")
|
||||
int mInventorySlotIndex = 0;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ItemFilter")
|
||||
TArray<TSubclassOf<UFGItemDescriptor>> mItemFilterClasses;
|
||||
};
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "DataAssets/RRDAHeaterDataAsset.h"
|
||||
#include "DataAssets/RRDATurbineDataAsset.h"
|
||||
#include "DataAssets/RRDACoolerDataAsset.h"
|
||||
#include "DataAssets/RRDADataAssetDSItemFilter.h"
|
||||
#include "DataAssets/RRDADataAssetDSModAdapter.h"
|
||||
#include "Enums/RRDARPEnums.h"
|
||||
#include "Resources/FGItemDescriptor.h"
|
||||
@@ -66,6 +67,9 @@ struct FRRDADataHolderDSBuildingData
|
||||
|
||||
UPROPERTY()
|
||||
URRDADataAssetDSModAdapter* ModAdapter;
|
||||
|
||||
UPROPERTY()
|
||||
TArray<URRDADataAssetDSItemFilter*> ItemFilters;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
@@ -98,6 +102,7 @@ public:
|
||||
void ReCacheGeneratorDataAssets();
|
||||
void ReCacheDSModAdapterDataAssets();
|
||||
void ReCacheDSAdapterCoversDataAssets();
|
||||
void ReCacheDSItemFilters();
|
||||
|
||||
public:
|
||||
// Dirt Functions
|
||||
@@ -133,6 +138,14 @@ public:
|
||||
UFUNCTION(BlueprintCallable, Category = "RRDA|DataAsset|DS")
|
||||
bool HasDSAdaperCoversForBuildingClass(TSubclassOf<AFGBuildableFactory> BuildingClass);
|
||||
|
||||
// DS Item Filters
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "RRDA|DataAsset|DS")
|
||||
TArray<URRDADataAssetDSItemFilter*> GetDSItemFiltersDataAssetsForBuildingClass(TSubclassOf<AFGBuildableFactory> BuildingClass) const;
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|DS")
|
||||
TArray<URRDADataAssetDSItemFilter*> GetAllDSItemFiltersDataAssets() const;
|
||||
|
||||
// Turbine Functions
|
||||
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|MP")
|
||||
bool GetAllTurbineItems(TArray<TSubclassOf<UFGItemDescriptor>>& Items, int32 Tier) const;
|
||||
|
||||
Reference in New Issue
Block a user