using UnityEngine; using TMPro; public class CoinManager : MonoBehaviour { public static CoinManager Instance; public int startingCoins = 0; [SerializeField] private int currentCoins; [Header("UI")] public TMP_Text coinText; private void Awake() { if (Instance == null) { Instance = this; } else { Destroy(gameObject); return; } currentCoins = startingCoins; UpdateCoinUI(); } public void AddCoins(int amount) { currentCoins += amount; UpdateCoinUI(); } public bool TrySpendCoins(int amount) { if (currentCoins >= amount) { currentCoins -= amount; UpdateCoinUI(); return true; } return false; } public int GetCoins() { return currentCoins; } private void UpdateCoinUI() { if (coinText != null) { coinText.text = $"{currentCoins} G"; } } }