Resource.cpp file :
#include "PrototypeFPS.h"
#include "Resource.h"
UResource::UResource()
{
ValueMin = 0;
ValueMax = 100;
InitValue = 100;
Regeneration = 1;
FMath::Clamp(InitValue, ValueMin, ValueMax);
ActualValue = InitValue;
}
void UResource::Tick(float DeltaTime)
{
ActualValue += DeltaTime * Regeneration;
FMath::Clamp(ActualValue, ValueMin, ValueMax);
}
bool UResource::IsTickable() const
{
return true;
}
TStatId UResource::GetStatId() const
{
return Super::GetStatID();
}
void UResource::AddValue(float Value)
{
ActualValue += Value;
FMath::Clamp(ActualValue, ValueMin, ValueMax);
}
bool UResource::IsEmpty() const
{
return (ValueMin == ActualValue);
}
bool UResource::IsFull() const
{
return (ValueMax == ActualValue);
}
void UResource::ResetMaxValue(float NewMax)
{
if (InitValue == ValueMax) {
InitValue = NewMax;
}
ValueMax = NewMax;
ActualValue = InitValue;
FMath::Clamp(ActualValue, ValueMin, ValueMax);
}