75 lines
2.6 KiB
C#
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);
|
|
}
|
|
|
|
|
|
}
|