public void LoadtoNormalGame() { // ゲームモードをノーマルモードに SaveClass.SetIsClear(false); SaveClass.SetGameMode(true); SaveClass.SetGameOver(false); // Debug.Log("ノーマル"); SceneManager.LoadScene("NormalGame"); }
private void LateUpdate() { // カウントダウンが終わったら if (CountdownText.IsGameStart()) { // モード共通失敗処理 ToResult.GotoResultScene(); // 条件を満たしたらResultへ遷移 // ノーマルモードの場合 if (SaveClass.GetGameMode()) { if (BlockCount != DeleteCount) { //埋まったレイの長さ float Check; RaycastHit hit; var BallVectorWork = BallVector; // 物体に衝突したかどうか // 衝突していた場合新しいBallVectorを取得 BallVector = Obj.Reflection(BallTrans, BallVector, out Check, out hit); if (BallVector != BallVectorWork) { while (true) { //BallTrans.position = hit.point- BallVector; var work = BallVector.normalized; BallVectorWork = BallVector; work *= Check; //Debug.Log("Check_:" + Check); BallVector = Obj.Reflection(BallTrans, BallVector, out Check, out hit); if (BallVector == BallVectorWork) { BallTrans.Translate(work); break; } } } else { BallTrans.Translate(BallVector); } } else { // クリアフラグを立てて遷移 SaveClass.SetIsClear(true); DeleteCount = 0; ToResult.GotoResultScene(); } } // Infiniteモードの場合 // クリアはないのでひたすらに壁打ち // @todo 関数にできそう else { //埋まったレイの長さ float Check; RaycastHit hit; var BallVectorWork = BallVector; // 物体に衝突したかどうか // 衝突していた場合新しいBallVectorを取得 BallVector = Obj.Reflection(BallTrans, BallVector, out Check, out hit); if (BallVector != BallVectorWork) { while (true) { //BallTrans.position = hit.point- BallVector; var work = BallVector.normalized; BallVectorWork = BallVector; work *= Check; // Debug.Log("Check_:" + Check); BallVector = Obj.Reflection(BallTrans, BallVector, out Check, out hit); if (BallVector == BallVectorWork) { BallTrans.Translate(work); break; } } } else { BallTrans.Translate(BallVector); } //while (hit.point > BallVector.magnitude) //{ // var work = BallVector.normalized; // work * Check // BallVector = Obj.Reflection(BallTrans, BallVector, out Check); //} //// BallVectorの方向へ移動 //BallTrans.Translate(BallVector); } } }