예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        currProg = WaniQ.Dequeue();
        EnableDeadLine(false);

        HitCount    = 0;
        BittenCount = 0;

        HitText.text    = 0.ToString();
        BittenText.text = 0.ToString();
        ScoreText.text  = 0.ToString();
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        //if (gvrController.)

        // Double Click Judge
        if (Input.GetMouseButtonDown(0) || gvrController.GetButtonDown(GvrControllerButton.App))
        {
            IsDoubleClick = false;
            if (clickStartTime > 0)
            {
                if ((Time.time - clickStartTime) < 0.3f)
                {
                    IsDoubleClick = true;
                }
            }
            clickStartTime = Time.time;
        }

        if (IsDoubleClick)
        {
            Pause(!pause);
            IsDoubleClick = false;
        }

        if (IsPause)
        {
            return;
        }

        HitText.text    = HitCount.ToString();
        BittenText.text = BittenCount.ToString();

        if (currProg.status == WaniStatus.bye)
        {
            return;
        }

        elapsed  += Time.deltaTime;
        span     += Time.deltaTime;
        interval -= Time.deltaTime;

        if (span > currProg.time)
        {
            span     = 0;
            counter  = 0;
            currProg = WaniQ.Dequeue();
            Debug.Log(elapsed + " status = " + currProg.status);

            switch (currProg.status)
            {
            case WaniStatus.eatyou:
                aud.volume = 1;
                aud.PlayOneShot(EatYouSE);
                StartCoroutine(PlayBGM(1));
                break;

            case WaniStatus.angry:
                aud.Stop();
                aud.volume = 1;
                aud.PlayOneShot(AngrySE);

                EnableDeadLine(true);
                StartCoroutine(PlayBGM(1, true));
                break;

            case WaniStatus.finish:
                aud.Stop();
                StartCoroutine(Result());
                break;

            case WaniStatus.bye:
                aud.volume = 1;
                aud.PlayOneShot(SurrenderSE);
                break;

            default:
                break;
            }
        }
        else
        {
            if (interval > 0)
            {
                return;
            }


            switch (currProg.status)
            {
            case WaniStatus.wani1:
                if (counter == 0)
                {
                    Wani[2].GetComponent <WaniController>().Forward = true;
                }
                else
                {
                    Wani[Random.Range(0, 5)].GetComponent <WaniController>().Forward = true;
                }
                interval = 2;
                break;

            case WaniStatus.wani2:
                Shuffle(dat);

                Wani[dat[0]].GetComponent <WaniController>().Forward = true;
                Wani[dat[1]].GetComponent <WaniController>().Forward = true;

                interval = 2;

                break;

            case WaniStatus.wani3:

                Shuffle(dat);

                Wani[dat[0]].GetComponent <WaniController>().Forward = true;
                Wani[dat[1]].GetComponent <WaniController>().Forward = true;

                if (counter == 0 || counter == 2 || counter == 3)
                {
                    Wani[dat[2]].GetComponent <WaniController>().Forward = true;
                }

                interval = 2;
                break;

            case WaniStatus.wani4:
                if (counter == 0)
                {
                    Wani[0].GetComponent <WaniController>().Forward = true;
                    Shuffle(dat);
                }
                else if (counter < 5)
                {
                    Wani[counter].GetComponent <WaniController>().Forward = true;
                }
                else
                {
                    Wani[dat[counter % 5]].GetComponent <WaniController>().Forward = true;
                }

                interval = 1;

                break;

            case WaniStatus.wani5:
                if (counter % 2 == 0)
                {
                    Shuffle(dat);
                    Wani[dat[0]].GetComponent <WaniController>().Forward = true;
                    interval = 0.3f;
                }
                else
                {
                    Wani[dat[1]].GetComponent <WaniController>().Forward = true;
                    interval = 1.7f;
                }

                break;

            case WaniStatus.wani6:
                if (counter % 5 == 0)
                {
                    Shuffle(dat);
                }
                Wani[dat[counter % 5]].GetComponent <WaniController>().Forward = true;
                interval = 0.3f;
                break;

            default:
                break;
            }

            counter++;
        }
    }