using System; using TMPro; using UnityEngine; public class TutorialUI : MonoBehaviour { [SerializeField] private TextMeshProUGUI keyMoveUpText; [SerializeField] private TextMeshProUGUI keyMoveDownText; [SerializeField] private TextMeshProUGUI keyMoveLeftText; [SerializeField] private TextMeshProUGUI keyMoveRightText; [SerializeField] private TextMeshProUGUI keyMoveInteractText; [SerializeField] private TextMeshProUGUI keyMoveInteractAlternateText; [SerializeField] private TextMeshProUGUI keyMovePauseText; [SerializeField] private TextMeshProUGUI keyMoveGamepadInteractText; [SerializeField] private TextMeshProUGUI keyMoveGamepadInteractAlternateText; [SerializeField] private TextMeshProUGUI keyMoveGamepadPauseText; private void Start() { GameInput.Instance.OnBindingRebind += GameInput_OnBindingRebind; KitchenGameManager.Instance.OnStateChanged += KitchenGameManager_OnStateChanged; UpdateVisual(); Show(); } private void GameInput_OnBindingRebind(object sender, EventArgs e) { UpdateVisual(); } private void KitchenGameManager_OnStateChanged(object sender, EventArgs e) { if (KitchenGameManager.Instance.IsCountToStartActive()) Hide(); } private void UpdateVisual() { keyMoveUpText.text = GameInput.GetBindingText(GameInput.Binding.MoveUp); keyMoveDownText.text = GameInput.GetBindingText(GameInput.Binding.MoveDown); keyMoveLeftText.text = GameInput.GetBindingText(GameInput.Binding.MoveLeft); keyMoveRightText.text = GameInput.GetBindingText(GameInput.Binding.MoveRight); keyMoveInteractText.text = GameInput.GetBindingText(GameInput.Binding.Interact); keyMoveInteractAlternateText.text = GameInput.GetBindingText(GameInput.Binding.InteractAlternate); keyMovePauseText.text = GameInput.GetBindingText(GameInput.Binding.Pause); keyMoveGamepadInteractText.text = GameInput.GetBindingText(GameInput.Binding.GamepadInteract); keyMoveGamepadInteractAlternateText.text = GameInput.GetBindingText(GameInput.Binding.GamepadInteractAlternate); keyMoveGamepadPauseText.text = GameInput.GetBindingText(GameInput.Binding.GamepadPause); } private void Show() { gameObject.SetActive(true); } private void Hide() { gameObject.SetActive(false); } }