// UI 상태 별 뷰직스 움직임 제어 protected virtual void _onVInputEvent(VINPUT_EVENT pEvent) { switch (pEvent) { case VINPUT_EVENT.TAP_1FINGER: // 손가락 하나 탭 if (uIState == UIState.credit_m) // 인트로 상태일 경우 터치시 꺼준다. { StopCoroutine("CreditChecker"); CreditOff(); uIState = UIState.menu; break; } if (isPlayBall == false && AIStateController.isAnimating == false) // 공놀이 중이 아닐때, 애니메이션 재생 중이 아닐 때 메뉴 이용 가능 { // 메뉴를 열 때 타임스케일 = 0 if (uIState == UIState.Idle) { Time.timeScale = 0f; uIState = UIState.menu; mAni.SetTrigger("yu"); // 메뉴 등장 } else if (uIState == UIState.Feed || uIState == UIState.Ball) { Time.timeScale = 0f; back = uIState; // 저장 uIState = UIState.play_m; pmAni.SetTrigger("yu"); // 메뉴 등장 } else if (uIState == UIState.menu) // 메뉴 중에 { Time.timeScale = 1f; if (menu_State == menu[0]) { AI.isStillMove = true; aiState.UIFeed(); fTry = 0; mAni.SetTrigger("mu"); fakeFish.SetActive(true); } else if (menu_State == menu[1]) { aiState.UIIdle(); mAni.SetTrigger("mu"); } else if (menu_State == menu[2]) { AI.isStillMove = true; aiState.UIBall(); fakeBall.SetActive(true); mAni.SetTrigger("mu"); } else if (menu_State == menu[3]) // 호출 메뉴 { //lookCheckerTF.localPosition = new Vector3(0, 0, 4.5f); lookCheckerTF.SetParent(null); AI.isStillMove = true; aiState.UIIdle(); StartCoroutine(CallWait()); mAni.SetTrigger("mu"); } } else if (uIState == UIState.play_m) { Time.timeScale = 1f; if (pmenu_State == menu[1]) { uIState = back; pmAni.SetTrigger("mu"); } else if (pmenu_State == menu[2]) { fakeFish.SetActive(false); fakeBall.SetActive(false); aiState.UICancel(); // 캔슬 스크립트 pmAni.SetTrigger("mu"); } } SoundManager.s_Instance.Sound_EffectMenuChoose(); } else if (isPlayBall == true) { rhythm.CheckRhythm(); // 리듬 체크 } break; case VINPUT_EVENT.TAP_2FINGER: // 손가락 두 개 탭 break; case VINPUT_EVENT.SWIPE_FORWARD_1FINGER: // 손가락 하나로 앞으로 스와이프 if (uIState == UIState.Feed) { aiState.veluga_Ani.SetInteger("FeedState", 1); fakeFish.SetActive(false); if (fTry < 5 && !feedCool) { feedCool = true; PlayFeed(); StartCoroutine(FeedCoolCoru()); } } else if (uIState == UIState.Ball) { aiState.veluga_Ani.SetInteger("BallState", 1); fakeBall.SetActive(false); StartBall(); } else if (uIState == UIState.menu) { if (menu_State == menu[2]) { mAni.SetInteger("Index", 3); menu_State = menu[3]; } // 중앙 메뉴일 때 else if (menu_State == menu[1]) { mAni.SetInteger("Index", 2); menu_State = menu[2]; } else if (menu_State == menu[0]) { mAni.SetInteger("Index", 1); menu_State = menu[1]; } } else if (uIState == UIState.play_m) { if (pmenu_State == menu[1]) { pmAni.SetInteger("Index", 2); pmenu_State = menu[2]; } } SoundManager.s_Instance.Sound_EffectMenuMove(); break; case VINPUT_EVENT.SWIPE_BACKWARD_1FINGER: // 손가락 하나로 뒤로 스와이프 if (uIState == UIState.menu) { // 중앙 메뉴일 때 if (menu_State == menu[1]) { mAni.SetInteger("Index", 0); menu_State = menu[0]; } else if (menu_State == menu[2]) { mAni.SetInteger("Index", 1); menu_State = menu[1]; } else if (menu_State == menu[3]) { mAni.SetInteger("Index", 2); menu_State = menu[2]; } } else if (uIState == UIState.play_m) { if (pmenu_State == menu[2]) { pmAni.SetInteger("Index", 1); pmenu_State = menu[1]; } } SoundManager.s_Instance.Sound_EffectMenuMove(); break; case VINPUT_EVENT.SWIPE_UP_1FINGER: // 손가락 하나로 위로 스와이프 break; case VINPUT_EVENT.SWIPE_DOWN_1FINGER: // 손가락 하나로 밑으로 스와이프 if (uIState == UIState.menu) { CreditOn(); uIState = UIState.credit_m; StartCoroutine("CreditChecker"); } break; case VINPUT_EVENT.SWIPE_FORWARD_2FINGER: // 손가락 두 개로 앞으로 스와이프 break; case VINPUT_EVENT.SWIPE_BACKWARD_2FINGER: // 손가락 두 개로 앞으로 스와이프 break; case VINPUT_EVENT.HOLD_1FINGER: // 손가락 하나 대고 있기 if (uIState == UIState.Idle) { Application.Quit(); // 기본 메뉴일 시 앱 종료 } break; } }