feat(SP): New buildings data assets
This commit is contained in:
parent
a5a89443de
commit
39ecb1df11
@ -0,0 +1,3 @@
|
||||
//
|
||||
|
||||
#include "DataAssets/RRDADataAssetSolarPower.h"
|
@ -70,6 +70,8 @@ void URRDADataAssetSubsystem::StartScanForDataAssets() {
|
||||
ReCacheDSItemFilters();
|
||||
ReCacheDSModAdapterDataAssets();
|
||||
ReCacheDSAdapterCoversDataAssets();
|
||||
|
||||
ReCacheSolarPowerDataAssets();
|
||||
}
|
||||
|
||||
void URRDADataAssetSubsystem::ReCacheDirtDataAssets() {
|
||||
@ -236,6 +238,24 @@ void URRDADataAssetSubsystem::ReCacheDSItemFilters() {
|
||||
UE_LOGFMT(LogRRDApi, Log, "ReCacheDSItemFilters: {0}", mDSBuildingData.Num());
|
||||
}
|
||||
|
||||
void URRDADataAssetSubsystem::ReCacheSolarPowerDataAssets()
|
||||
{
|
||||
mSolarPowerAssets.Empty();
|
||||
TSet<URRDADataAssetSolarPower*> DataAssets;
|
||||
|
||||
if (FindAllDataAssetsOfClass(DataAssets)) {
|
||||
for (URRDADataAssetSolarPower* DataAsset : DataAssets) {
|
||||
fgcheckf(DataAsset->mInput.ItemClass, TEXT("SolarPowerDataAsset %s has no ItemClass"), *DataAsset->GetPathName());
|
||||
|
||||
if (!mSolarPowerAssets.Contains(DataAsset)) {
|
||||
mSolarPowerAssets.AddUnique(DataAsset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UE_LOG(LogRRDApi, Log, TEXT("ReCacheSolarPowerDataAssets: %d"), mSolarPowerAssets.Num());
|
||||
}
|
||||
|
||||
int32 URRDADataAssetSubsystem::GetAllDirtItems(TArray<TSubclassOf<UFGItemDescriptor>>& Items) const {
|
||||
if (!mDirtAssets.Num()) {
|
||||
UE_LOG(LogRRDApi, Error, TEXT("No Dirts found!"));
|
||||
@ -516,3 +536,8 @@ TArray<URRDAHeaterDataAsset*> URRDADataAssetSubsystem::GetAllHeaterAssets(ERRDAH
|
||||
|
||||
return Assets;
|
||||
}
|
||||
|
||||
TArray<URRDADataAssetSolarPower*> URRDADataAssetSubsystem::GetAllSolarPowerAssets() const
|
||||
{
|
||||
return mSolarPowerAssets;
|
||||
}
|
||||
|
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "RRDADataAssetBase.h"
|
||||
#include "ItemAmount.h"
|
||||
|
||||
#include "RRDADataAssetSolarPower.generated.h"
|
||||
|
||||
UCLASS( BlueprintType )
|
||||
class REFINEDRDAPI_API URRDADataAssetSolarPower : public URRDADataAssetBase
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
/**
|
||||
* Fuel item that this uses
|
||||
*/
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
|
||||
FItemAmount mInput;
|
||||
|
||||
/**
|
||||
* What this produces
|
||||
*/
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
|
||||
FItemAmount mOutput;
|
||||
|
||||
/**
|
||||
* What the min heat is needed to produce
|
||||
*/
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
|
||||
float mMinHeatValue = 0.0f;
|
||||
};
|
@ -15,6 +15,7 @@
|
||||
#include "DataAssets/RRDACoolerDataAsset.h"
|
||||
#include "DataAssets/RRDADataAssetDSItemFilter.h"
|
||||
#include "DataAssets/RRDADataAssetDSModAdapter.h"
|
||||
#include "DataAssets/RRDADataAssetSolarPower.h"
|
||||
#include "Enums/RRDARPEnums.h"
|
||||
#include "Resources/FGItemDescriptor.h"
|
||||
|
||||
@ -103,6 +104,7 @@ public:
|
||||
void ReCacheDSModAdapterDataAssets();
|
||||
void ReCacheDSAdapterCoversDataAssets();
|
||||
void ReCacheDSItemFilters();
|
||||
void ReCacheSolarPowerDataAssets();
|
||||
|
||||
public:
|
||||
// Dirt Functions
|
||||
@ -211,6 +213,9 @@ public:
|
||||
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|MP")
|
||||
TArray<URRDAHeaterDataAsset*> GetAllHeaterAssets(ERRDAHeaterType Type) const;
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|Solar")
|
||||
TArray<URRDADataAssetSolarPower*> GetAllSolarPowerAssets() const;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Find all data assets of a specific class
|
||||
@ -242,6 +247,9 @@ public:
|
||||
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
|
||||
TMap<ERRDAHeaterType, FRRDADataHolderHeaterData> mHeaterAssets;
|
||||
|
||||
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
|
||||
TArray<URRDADataAssetSolarPower*> mSolarPowerAssets;
|
||||
|
||||
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
|
||||
TSet<URRDADataAssetBase*> mDisabledDataAssets;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user