using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; /// /// This class' only purpose is to set the class of an item view prototype. Could be the item itself, or the infobox, or anything! /// [RequireComponent(typeof(TextMeshProUGUI))] public class InventoryMoneyDisplay : MonoBehaviour,IShopModelObserver { private TextMeshProUGUI text; private void Start() { text = GetComponent(); // Because of the meta tag, Unity will make sure this exists. No sanity checks } public void SetMoney(int balance) { if(text == null) text = GetComponent(); // Just in case this gets called before Start() text.text = balance.ToString(); } // This is why it's probably better to split this into two interfaces, but oh well public void OnSelected(Item item) { //throw new NotImplementedException(); } public void OnRemoved(Item item) { //throw new NotImplementedException(); } public void OnAdded(Item item) { //throw new NotImplementedException(); } public void OnTransaction(int balance) { SetMoney(balance); } }