// Update is called once per frame
    void Update()
    {
        if (MainGameController.getIsFinish())
        {
            // スワイプオブジェクトの削除
            sprite.SetActive(false);
            Delete();

            //MoneyManager manager = GameObject.Find("Manager").GetComponent<MoneyManager>();
            Invoke("Active", 1.6f);

            if (isPitched)
            {
                oscController.sendStartEffect();
            }
        }
    }
Esempio n. 2
0
    // -----------------------------------------------------------------------------
    //  参拝の状態を確認してステートを先に進める
    // -----------------------------------------------------------------------------
    void sanpaiStateCheck()
    {
        Vector3 inputAccel = Input.acceleration;

        float thresholdRei = 1.0f;


        float xAccel = inputAccel.x * -1;
        float zAccel = inputAccel.z;

        stateText.text  = sanpaiState.ToString();
        inputXText.text = "X軸" + xAccel.ToString();
        inputZText.text = "Z軸" + zAccel.ToString();

        switch (sanpaiState)
        {
        // 最初
        case sanpaiRoutine.PRE_SANPAI:

            oscController.sendStartEffect();

            stateImage.sprite = stateStringTexture[0];

            if (xAccel > thresholdRei)
            {
                sanpaiState = sanpaiRoutine.FIRST_REI;
                coolTimeRei = true;
                playSE(0);
            }

            break;

        // 1度礼をしたあと
        case sanpaiRoutine.FIRST_REI:

            oscController.sendStartEffect();

            stateImage.sprite = stateStringTexture[1];

            // 一回戻るまではクールタイム
            if (coolTimeRei)
            {
                if (xAccel < 0.2f)
                {
                    coolTimeRei = false;
                }
            }
            else
            {
                if (xAccel > thresholdRei)
                {
                    sanpaiState = sanpaiRoutine.SECOND_REI;
                    coolTimeRei = true;
                    playSE(1);
                }
            }
            break;

        // 2度礼をした後
        case sanpaiRoutine.SECOND_REI:

            oscController.sendStartEffect();

            stateImage.sprite = stateStringTexture[2];

            // 一回戻るまではクールタイム
            if (coolTimeRei || coolTimeClap)
            {
                // 体を起こしてリセット
                if (xAccel < 0.2f)
                {
                    coolTimeRei = false;
                }

                //  手を開いてリセット
                if (zAccel < -0.7f)
                {
                    coolTimeClap = false;
                }
            }
            else
            {
                // 手を立てて拍手判定
                if (zAccel > 0.1f)
                {
                    coolTimeClap = true;
                    coolTimeRei  = true;
                    sanpaiState  = sanpaiRoutine.FIRST_CLAP;
                    playSE(2);
                }
            }
            break;

        // 1度手を叩いた後
        case sanpaiRoutine.FIRST_CLAP:

            oscController.sendStartEffect();

            stateImage.sprite = stateStringTexture[3];

            // 一回戻るまではクールタイム
            if (coolTimeClap)
            {
                //  手を開いてリセット
                if (zAccel < -0.7f)
                {
                    coolTimeClap = false;
                }
            }
            else
            {
                // 手を立てて拍手判定
                if (zAccel > 0.1f)
                {
                    coolTimeClap = true;
                    coolTimeRei  = true;
                    sanpaiState  = sanpaiRoutine.SECOND_CLAP;
                    playSE(3);
                }
            }
            break;

        // 2度手を叩いた後
        case sanpaiRoutine.SECOND_CLAP:

            oscController.sendStartEffect();

            stateImage.sprite = stateStringTexture[4];

            if (coolTimeRei)
            {
                // 体を起こしてリセット
                if (xAccel < 0.2f)
                {
                    coolTimeRei = false;
                }
            }
            else
            {
                // 一礼判定
                if (xAccel > thresholdRei)
                {
                    coolTimeClap = true;
                    coolTimeRei  = true;
                    sanpaiState  = sanpaiRoutine.FIN_SANPAI;
                    playSE(4);
                    returnButton.SetActive(true);

                    // OSC通信で2礼2拍手1礼が終わったことを通知
                    oscController.sendFinishSanpai();
                }
            }

            break;

        case sanpaiRoutine.FIN_SANPAI:


            // OSC通信で2礼2拍手1礼が終わったことを通知
            oscController.sendFinishSanpai();
            stateImage.sprite = stateStringTexture[5];

            break;

        default:

            break;
        }
    }