// 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", meta=( UIMin = "1", UIMax = "2" )) 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; };