public void PlayTutorial(TutorialName name) { GameManager.GetInstance.IsKeepBGMWhileGameStopped = true; GameManager.GetInstance.GameStopFlag = true; DialogManager.GetInstance.PlayScript(TutorialScriptPath + name.ToString(), TutorialEvent(name)); SoundManager.GetInstance.Play_UI_Sfx(K514SfxStorage.BeepType.Good); }
private Action <EventArgs> TutorialEvent(TutorialName name) { Action <EventArgs> action; switch (name) { case TutorialName.Move: action = (args) => { GameManager.GetInstance.GameStopFlag = true; HUDManager.GetInstance.Highlight.SetHighlightCircle( HUDManager.GetInstance.JoystickController.transform.position, 2.0f, HUDManager.GetInstance.JoystickController); HUDManager.GetInstance.JoystickController.SetOnClickBeginAfterAction((onClick) => { GameManager.GetInstance.GameStopFlag = false; HUDManager.GetInstance.Background.LeftScreenHighlight(false); K514PooledCoroutine.GetCoroutine().GetDeferredAction(3f, CAR => { TutorialManager.GetInstance.PlayTutorial(TutorialName.Attack); }) .SetTrigger(); }); HUDManager.GetInstance.Background.LeftScreenHighlight(true); MessageBoxUI.GetInstance.SetLabel("조이스틱을 움직여 이동하세요"); MessageBoxUI.GetInstance.SetTrigger(MessageBoxUI.MessageActionType.Showing, MessageBoxUI.MessageEventType.WithNoEvent); }; break; case TutorialName.Attack: action = (args) => { GameManager.GetInstance.GameStopFlag = true; HUDManager.GetInstance.Highlight.SetHighlightCircle( HUDManager.GetInstance.ActionButtonTriggerGroup[0].transform.position, 1.5f, HUDManager.GetInstance.ActionButtonTriggerGroup[0]); HUDManager.GetInstance.ActionButtonTriggerGroup[0].SetOnClickBeginBeforeAction((onClick) => { GameManager.GetInstance.GameStopFlag = false; HUDManager.GetInstance.Background.UIHighlight(false); K514PooledCoroutine.GetCoroutine().GetDeferredAction(3f, CAR => { TutorialManager.GetInstance.PlayTutorial(TutorialName.ChargeAttack); }) .SetTrigger(); }); HUDManager.GetInstance.Background.UIHighlight(true); MessageBoxUI.GetInstance.SetLabel("공격버튼을 눌러 공격하세요"); MessageBoxUI.GetInstance.SetTrigger(MessageBoxUI.MessageActionType.Showing, MessageBoxUI.MessageEventType.WithNoEvent); }; break; case TutorialName.Dash: action = (args) => { GameManager.GetInstance.GameStopFlag = true; HUDManager.GetInstance.Highlight.SetHighlightCircle( HUDManager.GetInstance.ActionButtonTriggerGroup[2].transform.position, 1.5f, HUDManager.GetInstance.ActionButtonTriggerGroup[2]); HUDManager.GetInstance.ActionButtonTriggerGroup[2].SetOnClickBeginBeforeAction((onClick) => { GameManager.GetInstance.GameStopFlag = false; HUDManager.GetInstance.Background.UIHighlight(false); K514PooledCoroutine.GetCoroutine().GetDeferredAction(6f, CAR => { GameManager.GetInstance.IsKeepBGMWhileGameStopped = false; GameInformation.GetInstance.AddItem(ItemManager.GetInstance.CreateItem(ItemManager.ItemList.ShortBow, ItemManager.ItemRank.magic)); GameInformation.GetInstance.AddExp(200); GameInformation.GetInstance.SetResultUI(GameResultStruct.GameResult.Win); }) .SetTrigger(); }); HUDManager.GetInstance.Background.UIHighlight(true); MessageBoxUI.GetInstance.SetLabel("대쉬버튼을 눌러 회피하세요"); MessageBoxUI.GetInstance.SetTrigger(MessageBoxUI.MessageActionType.Showing, MessageBoxUI.MessageEventType.WithNoEvent); }; break; case TutorialName.ChargeAttack: action = (args) => { GameManager.GetInstance.GameStopFlag = true; HUDManager.GetInstance.Highlight.SetHighlightCircle( HUDManager.GetInstance.ActionButtonTriggerGroup[0].transform.position, 1.5f, HUDManager.GetInstance.ActionButtonTriggerGroup[0]); HUDManager.GetInstance.ActionButtonTriggerGroup[0].SetOnClickBeginBeforeAction((onClick) => { GameManager.GetInstance.GameStopFlag = false; HUDManager.GetInstance.Background.UIHighlight(false); }); HUDManager.GetInstance.Background.UIHighlight(true); MessageBoxUI.GetInstance.SetLabel("공격버튼을 누르고 있으면 차징 할 수 있습니다."); MessageBoxUI.GetInstance.SetTrigger(MessageBoxUI.MessageActionType.Showing, MessageBoxUI.MessageEventType.WithNoEvent); ConditionalEventManager.GetInstance.AddConditionalAction(ConditionalEventManager.ActionFlag.OnChargeAttack, eventArgs => { K514PooledCoroutine.GetCoroutine().GetDeferredAction(2f, CAR => { ConditionalEventManager.GetInstance.RemoveConditionalAction(ConditionalEventManager.ActionFlag.OnChargeAttack , "Charging Tutorial"); TutorialManager.GetInstance.PlayTutorial(TutorialName.ActiveSkill); }) .SetTrigger(); } , "Charging Tutorial" , new CustomActionArgs()); }; break; case TutorialName.ActiveSkill: action = (args) => { GameManager.GetInstance.GameStopFlag = true; HUDManager.GetInstance.Highlight.SetHighlightCircle( HUDManager.GetInstance.ActionButtonTriggerGroup[1].transform.position, 1.5f, HUDManager.GetInstance.ActionButtonTriggerGroup[1]); HUDManager.GetInstance.ActionButtonTriggerGroup[1].SetOnClickBeginBeforeAction((onClick) => { GameManager.GetInstance.GameStopFlag = false; HUDManager.GetInstance.Background.UIHighlight(false); K514PooledCoroutine.GetCoroutine().GetDeferredAction(3f, CAR => { TutorialManager.GetInstance.PlayTutorial(TutorialName.Dash); }) .SetTrigger(); }); HUDManager.GetInstance.Background.UIHighlight(true); MessageBoxUI.GetInstance.SetLabel("스킬버튼을 눌러 스킬을 사용하세요"); MessageBoxUI.GetInstance.SetTrigger(MessageBoxUI.MessageActionType.Showing, MessageBoxUI.MessageEventType.WithNoEvent); }; break; default: action = null; break; } return(action); }