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; } }
// 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(); } }
public void PanelSlideOut() { panel.SlideOut(); }
public void OnClick() { panel.SlideOut(); GameController.SetActive(true); }
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; } }