using TMPro; using UnityEngine; using UnityEngine.UI; public class CounterEditable : MonoBehaviour, IListener { [SerializeField] private TMP_Text countDisplay = null; [SerializeField] private TMP_InputField maxValue = null; [SerializeField] private EVENT_TYPE tickEvent = EVENT_TYPE.DUMMY; private void Start() { EventManager.Instance.AddListener(tickEvent, this); } public void OnMaxValueTyped(string text) { int val = 0; if (int.Parse(text) <= int.Parse(countDisplay.text)) { val = int.Parse(countDisplay.text) + 1; maxValue.text = val.ToString(); } else { val = int.Parse(text); } EventManager.Instance.PostNotification<int>(EVENT_TYPE.ON_FIRE_MAX_CHANGED, this, val); } public void OnEvent<T>(EVENT_TYPE eventType, Component Sender, T param = default) { if(eventType == tickEvent) { countDisplay.text = (int.Parse(countDisplay.text) + 1).ToString(); } } public void UpdateMaxValue(int value) { maxValue.text = value.ToString(); } }