This repository has been archived on 2025-03-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mojo-kitchen-chaos/Assets/Scripts/UI/TutorialSplashUI.cs

75 lines
2.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class TutorialSplashUI : MonoBehaviour
{
// ---Movement---
[SerializeField] private TextMeshProUGUI keyMoveUpText;
[SerializeField] private TextMeshProUGUI keyMoveDownText;
[SerializeField] private TextMeshProUGUI keyMoveLeftText;
[SerializeField] private TextMeshProUGUI keyMoveRightText;
// ---Keyboard actions---
[SerializeField] private TextMeshProUGUI keyInteractText;
[SerializeField] private TextMeshProUGUI keyAltInteractText;
[SerializeField] private TextMeshProUGUI keyPauseText;
// ---GamePad actions---
[SerializeField] private TextMeshProUGUI keyGamepadInteractText;
[SerializeField] private TextMeshProUGUI keyGamepadAltInteractText;
[SerializeField] private TextMeshProUGUI keyGamepadPauseText;
private void Start()
{
GameInput.Instance.OnKeyRebind += GameInput_OnKeyRebind;
GameStateManager.Instace.OnStateChanged += GameStateManager_OnStateChanged;
UpdateVisual();
Show();
}
private void GameStateManager_OnStateChanged(object sender, System.EventArgs e)
{
if (GameStateManager.Instace.IsCountdownToStartActive())
{
Hide();
}
}
private void GameInput_OnKeyRebind(object sender, System.EventArgs e)
{
UpdateVisual();
}
private void UpdateVisual()
{
// ---Update keybind button text---
keyMoveUpText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Move_Up);
keyMoveDownText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Move_Down);
keyMoveLeftText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Move_Left);
keyMoveRightText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Move_Right);
keyInteractText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Interact);
keyAltInteractText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.InteractAlternate);
keyPauseText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Pause);
keyGamepadInteractText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Gamepad_Interact);
keyGamepadAltInteractText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Gamepad_InteractAlternate);
keyGamepadPauseText.text = GameInput.Instance.GetBindingText(GameInput.Bindings.Gamepad_Pause);
}
private void Show()
{
gameObject.SetActive(true);
}
private void Hide()
{
gameObject.SetActive(false);
}
}