FloatMods
This commit is contained in:
parent
540c6c8f2f
commit
5d8e45469d
10 changed files with 255 additions and 0 deletions
59
addons/floatmodifiers/FloatModifiers.cs
Normal file
59
addons/floatmodifiers/FloatModifiers.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue