コード例 #1
0
 public void GameOver()
 {
     if (stayTime <= 0.0f)
     {
         overPanelUI.SlideOut();
     }
     stayTime += Time.deltaTime;
     if (stayTime >= 5.0f)
     {
         score = 0;
         saveStr.SetResultScore(score);
         UnityEngine.SceneManagement.SceneManager.LoadScene("RankingScene");
         stayTime = 0;
     }
 }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        // 感染開始後の処理 //
        if (isStartPandemic == false)
        {
            return;
        }

        // クリアしたかの判定
        isClear = GameObject.FindGameObjectWithTag("Actor") == null;

        // 全ステージクリアした
        // スコアの代入はここで
        if (stageMnager.AllClear)
        {
            if (stayTime <= 0.0f)
            {
                clearPanelUI.SlideOut();

                if (stayTime == 0.0f)
                {
                    if (isClear)
                    {
                        audio.PlayOneShot(clearSE);
                    }
                    else
                    {
                        audio.PlayOneShot(gameOverSE);
                    }
                }
            }
            stayTime += Time.deltaTime;
            if (stayTime >= 5.0f)
            {
                score = GetClearTime();
                saveStr.SetResultScore(score);
                UnityEngine.SceneManagement.SceneManager.LoadScene("RankingScene");
                stayTime = 0;
            }
        }
        else if (isClear)
        {
            stageNum++;
            if (stageNum > 3)
            {
                stageNum = 3;               // 拡張不可
            }
            //infectedNum = 0;
        }

        if (isClear)
        {
            screenCntrol.SetStageNum(stageNum);
            pandemicFlag = false;
            comboScript.Initialize();
            screenCntrol.ChengePandemicTextColor(0.0f, 0.0f, 0.0f, isClear);
        }

        // クリア前の処理
        if (IsClear())
        {
            return;
        }

        // パンデミック時とステージ移動中はタイムを止める
        if (!pandemicFlag && stageMnager.MigrationStage)
        {
            time -= Time.deltaTime;// * acceleratorRate;
            if (time < 0.0f)
            {
                time = 0.0f;
            }
        }

        actorNum = WorldViewer.CountObjects("Actor");
        //感染率が80%以上ならパンデミック開始
        if (!pandemicFlag)
        {
            // ゾンビ数を取得
            int infectedNum = WorldViewer.CountObjects("InfectedActor");
            if ((float)infectedNum / (actorNum + infectedNum) * 100.0f >= perdemic)
            {
                // パンデミック発動キーが押された
                if (Input.GetKeyDown(m_pandemicKey) || Input.GetButtonDown("Button A"))
                {
                    pandemic.StartPandemic();
                    screenCntrol.ChengePandemicTextColor(255.0f, 255.0f, 0.0f, isClear);
                    pandemicFlag = true;
                }
            }
        }
        // 制限時間を迎えたらゲームオーバー
        if (time == 0.0f)
        {
            GameOver();
        }
        // ウイルスゲージが0になったらゲームオーバー
        if (overFlag.GetOverFlag() == false)
        {
            GameOver();
        }
    }
コード例 #3
0
 public void PanelSlideOut()
 {
     panel.SlideOut();
 }
コード例 #4
0
 public void OnClick()
 {
     panel.SlideOut();
     GameController.SetActive(true);
 }
コード例 #5
0
ファイル: HandControll.cs プロジェクト: Cpaw/IoT_Leap
    void Update() {
        var frame = controller.Frame();
        var fingerCount = frame.Fingers.Count;
        var gestures = frame.Gestures();
        var interactionBox = frame.InteractionBox;
        if(UIOn){
            for ( int i = 0; i < UIItems.Length; i++ ) {
                ItemControllers[i].SetItem(ItemNames[i],ItemPrices[i],ItemValues[i]);
            }
        }
        if ( frame.Fingers[0].IsValid ) {
        	for ( int i = 0; i < FingerObjects.Length; i++ ) {
                var leapFinger = frame.Fingers[i];
                var unityFinger = FingerObjects[i];
      // if(leapFinger.Type == Leap.Finger){
      //    var indexFinger = FingerObjects[i];
      //    SetVisible( indexFinger, leapFinger.IsValid );
      // }
                //Debug.Log(leapFinger.TipPosition);
                //Debug.Log(frame.Hands[0]);
                if ( leapFinger.IsValid ) {
                    Vector normalizedPosition = interactionBox.NormalizePoint(leapFinger.TipPosition);
                    // Debug.Log(normalizedPosition);
                    normalizedPosition *= 10;
                    unityFinger.transform.localPosition = ToVector3( normalizedPosition );
                }
            }
        }else{
            Vector normalizedPosition = interactionBox.NormalizePoint(new Vector(0.5f,0.5f,0.5f));
            // Debug.Log(normalizedPosition);
            normalizedPosition.y+=0.35f;
            normalizedPosition *= 10;
            FingerObjects[0].transform.localPosition = ToVector3( normalizedPosition );
            FingerObjects[0].transform.localPosition = ToVector3( normalizedPosition );
        }

                // ジェスチャー結果取得&表示
                Gesture gesture = gestures[0];
                switch ( gesture.Type ) {
                case Gesture.GestureType.TYPECIRCLE:
                    var circle = new CircleGesture(gesture);
                    // 回転方向を計算
                    string clockwiseness;
                    if (circle.Pointable.Direction.AngleTo(circle.Normal) <= Math.PI / 4)
                    {
                      // 角度が90度以下なら、時計回り
                      clockwiseness = "時計回り";
                    }
                    else
                    {
                      clockwiseness = "反時計回り";
                    }
                    if(circle.State == Gesture.GestureState.STATESTOP){
                        //Debug.Log("stop");
                        if(clockwiseness=="時計回り"){
                                Debug.Log("UIOpen");
                                UIOpened=true;
                                panel.SlideIn();
                        }else{
                                UIOpened=false;
                                panel.SlideOut();
                        }

                }
                    break;
                case Gesture.GestureType.TYPEKEYTAP:
                    var keytapGesture = new KeyTapGesture(gesture);
                    printGesture("KeyTap");
                    break;
                case Gesture.GestureType.TYPESCREENTAP:
                    var screenTapGesture = new ScreenTapGesture(gesture);
                    printGesture("ScreenTap");
                    break;
                case Gesture.GestureType.TYPESWIPE:
                var swipe = new SwipeGesture(gesture);
                    Debug.Log(swipe.Direction.y);
                break;
                default:
                    break;

            }
    }