KitchenChaos/Assets/Scripts/UI/TutorialUI.cs

53 lines
2.3 KiB
C#

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);
}
}