75 lines
2.9 KiB
C#
75 lines
2.9 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
public class TutorialUI : MonoBehaviour {
|
|
[FormerlySerializedAs("keyMoveUpText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveUpText;
|
|
|
|
[FormerlySerializedAs("keyMoveDownText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveDownText;
|
|
|
|
[FormerlySerializedAs("keyMoveLeftText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveLeftText;
|
|
|
|
[FormerlySerializedAs("keyMoveRightText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveRightText;
|
|
|
|
[FormerlySerializedAs("keyMoveInteractText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveInteractText;
|
|
|
|
[FormerlySerializedAs("keyMoveInteractAlternateText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveInteractAlternateText;
|
|
|
|
[FormerlySerializedAs("keyMovePauseText"), SerializeField]
|
|
private TextMeshProUGUI KeyMovePauseText;
|
|
|
|
[FormerlySerializedAs("keyMoveGamepadInteractText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveGamepadInteractText;
|
|
|
|
[FormerlySerializedAs("keyMoveGamepadInteractAlternateText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveGamepadInteractAlternateText;
|
|
|
|
[FormerlySerializedAs("keyMoveGamepadPauseText"), SerializeField]
|
|
private TextMeshProUGUI KeyMoveGamepadPauseText;
|
|
|
|
private void Start() {
|
|
GameInput.Instance.OnBindingRebind += GameInput_OnBindingRebind;
|
|
KitchenGameManager.Instance.OnStateChanged += KitchenGameManager_OnStateChanged;
|
|
KitchenGameManager.Instance.OnLocalPlayerReadyChanged += KitchenGameManager_OnLocalPlayerReadyChanged;
|
|
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 KitchenGameManager_OnLocalPlayerReadyChanged(object sender, EventArgs e) {
|
|
if (KitchenGameManager.Instance.IsLocalPlayerReady) 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);
|
|
}
|
|
} |