2024-10-27 19:49:15 +01:00

67 lines
1.6 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "RRDADataAssetBase.h"
#include "ItemAmount.h"
#include "RRDATurbineDataAsset.generated.h"
UCLASS( BlueprintType )
class REFINEDRDAPI_API URRDATurbineDataAsset : public URRDADataAssetBase
{
GENERATED_BODY()
virtual bool IsEnabled_Internal(UObject* WorldContextObject) const override;
public:
/**
* Fuel item that this heater uses
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Turbine")
int32 mTier = 1;
/**
* Fuel item that this heater uses
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Turbine")
FItemAmount mItem;
/**
* Item that this turbine produces
* @Note - Can be nullptr so that the turbine doesn't produce anything
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Turbine")
FItemAmount mWasteItem;
/**
* Duration for one production
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Turbine")
float mDuration = 6.f;
/**
* The time it takes to handle the RPM (slow down or speed up)
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Turbine" )
float mRPHandleTime = 0.025f;
/**
* How much the RPM should be dragged down by
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Turbine" )
int mRPMDrag = 5;
/**
* Maximum RPM that this turbine can reach
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Turbine" )
int mMaxRPM = 10000;
/**
* Multiplier for the RPM
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Turbine" )
float mRPMMultiplier = 2;
};