TurnBasedStrategyCourse/Assets/Scripts/UI/ActionButtonUI.cs

23 lines
914 B
C#

using Actions;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace UI {
public class ActionButtonUI : MonoBehaviour {
[FormerlySerializedAs("TextMeshPro")] [SerializeField] private TextMeshProUGUI textMeshPro;
[FormerlySerializedAs("Button")] [SerializeField] private Button button;
[FormerlySerializedAs("SelectedGameObject")] [SerializeField] private GameObject selectedGameObject;
private BaseAction baseAction;
public void SetBaseAction(BaseAction newBaseAction) {
baseAction = newBaseAction;
textMeshPro.text = newBaseAction.ActionName;
button.onClick.AddListener(() => UnitActionSystem.Instance.SetSelectedAction(newBaseAction));
}
public void UpdateSelectedVisual() => selectedGameObject.SetActive(UnitActionSystem.Instance.SelectedAction == baseAction);
}
}