FloatMods

This commit is contained in:
Rendo 2025-06-22 23:28:43 +05:00
commit 5d8e45469d
10 changed files with 255 additions and 0 deletions

View file

@ -0,0 +1,59 @@
using Godot;
[GlobalClass] [Tool]
public partial class FloatModifiers : Resource
{
[Export] private float flat_value;
[Export] private float percentage_value;
[Export] private float mult_value;
public static FloatModifiers Instantiate(float flat = 0.0f, float per = 0.0f, float mult = 1.0f)
{
FloatModifiers mod = new()
{
flat_value = flat,
percentage_value = per,
mult_value = mult
};
return mod;
}
public float GetValue() => flat_value * mult_value * (1.0f + percentage_value);
public float GetFlat() => flat_value;
public float GetPercentage() => percentage_value;
public float GetMult() => mult_value;
public void SetFlat(float value)
{
flat_value = value;
}
public void SetPercentage(float value)
{
percentage_value = value;
}
public void SetMult(float value)
{
mult_value = value;
}
public void ChangeFlat(float amount)
{
flat_value += amount;
}
public void ChangePercentage(float amount)
{
percentage_value += amount;
}
public void ChangeMult(float amount)
{
mult_value *= amount;
}
}