private void interface_tuto_process(GameObject obj = null) { TutoType _tuto_Enum = TutoType.None; if (isTutoProcessing) { isTutoProcessing = false; tuto_count++; string interface_msg = ""; switch (tuto_count) { case 1: interface_msg = "용사란 놈들이 남의 집에 와서 마구 행패라니…_아무튼 이 돈은 마왕성 재건의 초석으로 사용해주마 후하하하!_ 먼저 몬스터의 소환이다"; break; case 2: interface_msg = "몬스터의 소환은 소환하고 싶은 블록이나 그 위의 빈 공간을 터치하여 가능하지!"; _tuto_Enum = TutoType.Alias; break; case 3: interface_msg = "지금은 스켈레톤을 소환하는 것이 적기겠군. 자 와라 죽음의 군단이여"; _tuto_Enum = TutoType.Next; break; case 4: PlayerPrefs.SetInt("trapLevel", 100); GM.LevelUpData("Skeleton"); interface_msg = "이번에는 함정이다!_있는걸 알면서도 시스템상 어쩔 수 없이 걸리게 되는 함정을 설치해주마!_자 설치할 곳을 골라볼까."; _tuto_Enum = TutoType.Trap; break; case 5: GM.LevelUpData("Skeleton"); interface_msg = "스파이크는 고전적이지만 효과적이지 크큭… 용사녀석들!_알면서도 밟고 넘어올 수 밖에 없는 잔혹한 함정을 맛보아라!"; _tuto_Enum = TutoType.Next; break; case 6: Button.TutorialBtnControl(1); interface_msg = "이제 남은 골드는 이 황량한 스테이지를 새로 단장하는데 사용해야겠어._마왕성 강화다!"; _tuto_Enum = TutoType.Castle; break; case 7: interface_msg = "좋아 이제 좀 지낼 만 하게 되었어!_후후훗 어서와라 용사 놈들… "; break; case 8: Button.TutorialBtnControl(2); interface_msg = "남의 평온한 일상을 위협하는 녀석들은\n마왕성 부활 프로젝트의 제물로 써주마!"; break; case 9: Debug.Log("????"); TempStaticMemory.gameCount++; PlayerPrefs.SetInt("GameCount", TempStaticMemory.gameCount); Tuto_Button_Object.SetActive(false); GM.SendMessage("GameStartAllObject", SendMessageOptions.DontRequireReceiver); break; default: break; } StopCoroutine("StartTypeingAnimation"); if (!string.IsNullOrEmpty(interface_msg)) { StartCoroutine(StartTypeingAnimation(interface_msg, _tuto_Enum)); } } }
private IEnumerator StartTypeingAnimation(string msg, TutoType typeEnum) { int str_length = 0; Tuto_tap_label.SetActive(false); bubble_label.text = ""; string[] splited_string = msg.Split('_'); string display_msg; StringBuilder str_bulder = new StringBuilder(); int phase_length = splited_string.Length; for (int pl = 0; pl < phase_length; pl++) { display_msg = splited_string[pl]; if (str_bulder.Length > 0) { str_bulder.Remove(0, str_bulder.Length); } char[] msgCharArray = display_msg.ToCharArray(); str_length = display_msg.Length; yield return(new WaitForSeconds(0.5f)); for (int i = 0; i < str_length; i++) { str_bulder.Append(msgCharArray[i]); yield return(new WaitForFixedUpdate()); bubble_label.text = str_bulder.ToString(); yield return(new WaitForFixedUpdate()); } yield return(new WaitForSeconds(0.3f)); } switch (typeEnum) { case TutoType.Castle: tuto_box_col.center = main_display_collider_center; tuto_box_col.size = main_display_collider_size; ArrowTrs.gameObject.SetActive(true); ArrowTrs.localPosition = new Vector2(0, -205); TempStaticMemory.isTutoProcessOn = false; StartCoroutine("TutorialWaiting"); break; case TutoType.Alias: tuto_box_col.enabled = false; stageManager.SendMessage("tutorialArrowAppear"); TempStaticMemory.isTutoProcessOn = false; StartCoroutine("TutorialWaiting"); ArrowTrs.localPosition = new Vector2(-595, -194); break; case TutoType.Trap: tuto_box_col.enabled = false; stageManager.SendMessage("tutorialArrowAppear"); TempStaticMemory.isTutoProcessOn = false; StartCoroutine("TutorialWaiting"); ArrowTrs.localPosition = new Vector2(409, -194); break; case TutoType.Next: ArrowTrs.gameObject.SetActive(true); tuto_box_col.center = main_display_collider_center; tuto_box_col.size = main_display_collider_size; TempStaticMemory.isTutoProcessOn = false; StartCoroutine("TutorialWaiting"); break; case TutoType.None: Tuto_tap_label.SetActive(true); isTutoProcessing = true; break; } }