using System.Collections; using Sirenix.OdinInspector; using UnityEngine; namespace BlueWater.Uis { public enum TutorialState { None = 0, First, Second, End } public class CombatTutorialUi : MonoBehaviour { [SerializeField] private GameObject _firstTutorialUi; [SerializeField] private GameObject _secondTutorialUi; public TutorialState CurrentTutorialState { get; private set; } [Button("컴포넌트 초기화")] private void InitializeComponents() { _firstTutorialUi = transform.Find("FirstTutorialUi").gameObject; _secondTutorialUi = transform.Find("SecondTutorialUi").gameObject; } public void ShowFirstTutorialUi() { PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); gameObject.SetActive(true); _firstTutorialUi.SetActive(true); _secondTutorialUi.SetActive(false); CurrentTutorialState = TutorialState.First; StartCoroutine(FirstTutorialCoroutine()); } private IEnumerator FirstTutorialCoroutine() { yield return new WaitForSeconds(0.1f); PlayerInputKeyManager.Instance.EnableCurrentPlayerInput(); PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.CombatUi); PlayerInputKeyManager.Instance.DisableAllActionsExcept("InteractionUi"); } public void SecondFirstTutorialUi() { gameObject.SetActive(true); _firstTutorialUi.SetActive(false); _secondTutorialUi.SetActive(true); CurrentTutorialState = TutorialState.Second; } public void EndTutorialUi() { gameObject.SetActive(false); _firstTutorialUi.SetActive(false); _secondTutorialUi.SetActive(false); CurrentTutorialState = TutorialState.End; //PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Combat); //PlayerInputKeyManager.Instance.EnableAllActions(); CombatUiManager.Instance.MoveSelectStage(0); } } }