display player money, dialog when player have not enough money

This commit is contained in:
2022-08-19 00:21:47 +03:00
parent 32cdf47d4a
commit 58875abc52
7 changed files with 70 additions and 13 deletions
+15 -3
View File
@@ -1,9 +1,14 @@
using Assets.Scripts.Actions;
using Assets.Scripts.Actions.Interfaces;
using TMPro;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public Stat money = new Stat("Money", 1000.00);
[SerializeField]
private TextMeshProUGUI _moneyText;
public Stat money = new Stat("Money", 100.00);
public Stat rentAccount = new Stat("Rent Account", 0);
public Stat foodEnergy = new Stat("Food Energy", 0);
public Stat restEnergy = new Stat("Rest Energy", 0);
@@ -47,7 +52,7 @@ public class PlayerController : MonoBehaviour
// Start is called before the first frame update
void Start()
{
_moneyText.text = $"Money: {money.Value}$";
}
// Update is called once per frame
@@ -62,9 +67,16 @@ public class PlayerController : MonoBehaviour
Clock = 24;
}
public void TryBuyAction(BaseAction action)
public bool TryBuyAction(BaseAction action)
{
if(action is ISellableItem)
{
if (!money.deduct(((ISellableItem)action).Cost))
return false;
_moneyText.text = $"Money: {money.Value}$";
}
action.ApplyAction(this);
return true;
}
}