Exemplo n.º 1
0
 public static void dispatchVInputEvent(VINPUT_EVENT pEvent)
 {
     if (onVInputEvent != null)
     {
         onVInputEvent(pEvent);
     }
 }
Exemplo n.º 2
0
    // 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;
        }
    }