Files
YachtDice/Assets/Scripts/Run/StoredRollBank.cs
T
2026-03-18 09:13:48 +07:00

40 lines
752 B
C#

using System;
namespace YachtDice.Run
{
public sealed class StoredRollBank
{
public int Value { get; private set; }
public event Action<int> OnChanged;
public void Reset()
{
SetValue(0);
}
public void Add(int amount)
{
if (amount <= 0)
return;
SetValue(Value + amount);
}
public bool TrySpend(int amount)
{
if (amount <= 0 || Value < amount)
return false;
SetValue(Value - amount);
return true;
}
private void SetValue(int value)
{
Value = Math.Max(0, value);
OnChanged?.Invoke(Value);
}
}
}