feat: functions for Turbine

This commit is contained in:
2024-10-27 12:42:17 +01:00
parent 4e1ea32b9d
commit ce944794dc
6 changed files with 195 additions and 6 deletions

View File

@@ -0,0 +1,40 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "RRDADataAssetBase.h"
#include "ItemAmount.h"
#include "RRDAGeneratorDataAsset.generated.h"
UCLASS( BlueprintType )
class REFINEDRDAPI_API URRDAGeneratorDataAsset : public URRDADataAssetBase
{
GENERATED_BODY()
public:
/**
* Fuel item that this heater uses
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Turbine", meta=( UIMin = "1", UIMax = "5" ) )
int32 mTier = 1;
/**
* Maximum power output of the generator
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Mp Generator" )
float mMaxPowerOutput;
/**
* Maximum RPM of the generator
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Mp Generator" )
int mMaxRPM;
/**
* Curve that defines the power output of the generator
*/
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Mp Generator" )
UCurveFloat* mGeneratorCurve;
};

View File

@@ -13,6 +13,8 @@ class REFINEDRDAPI_API URRDATurbineDataAsset : public URRDADataAssetBase
{
GENERATED_BODY()
virtual bool IsEnabled_Internal(UObject* WorldContextObject) const override;
public:
/**
* Fuel item that this heater uses
@@ -38,4 +40,28 @@ public:
*/
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;
};