44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using PashaBibko.Pacore.Attributes;
|
|
using Fruitomation.Game;
|
|
using UnityEngine;
|
|
|
|
namespace Fruitomation.Global
|
|
{
|
|
[CreateInstanceOnStart] public class MoneyController : MonoBehaviour
|
|
{
|
|
private static MoneyController Instance;
|
|
|
|
[SerializeField, InspectorReadOnly("Current Money")]
|
|
private double InternalCurrentMoney = new();
|
|
public static double Current => Instance.InternalCurrentMoney;
|
|
|
|
public static void Add(double amount)
|
|
{
|
|
Instance.InternalCurrentMoney += amount;
|
|
}
|
|
|
|
public static bool CanBuy(double amount)
|
|
{
|
|
double val = Instance.InternalCurrentMoney - amount;
|
|
if (val > 0f)
|
|
{
|
|
Instance.InternalCurrentMoney = val;
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private void Awake()
|
|
{
|
|
if (Instance is not null)
|
|
{
|
|
Debug.LogError("Cannot have multiple instances of [MoneyController]");
|
|
return;
|
|
}
|
|
|
|
Instance = this;
|
|
}
|
|
}
|
|
}
|