// Update is called once per frame void Update() { switch (lineDecisionState) { #region 探索 case LineDecisionState.SEARCH: //探索範囲(0~14)以外でははしらない seachLine = timeLineMove.LineDecision(); if (seachLine < 0 || seachLine >= 14) { break; } if (seachLine != completionLine) { break; } completionLine += 1; delete = 0; //消去予定のブロックの優先度を変更 for (int y = 0; y < GameController.FIELD_Y; y++) { if (gameController.fields[seachLine, y] == DELETE_BRACK) { gameController.fields[seachLine, y] = 6; //ブロックの表示を優先度に合わせて変更 Destroy(gameController.delBlockPrefabs[seachLine, y].gameObject); gameController.delBlockPrefabs[seachLine, y] = Instantiate(DeleteAfterPrefab, new Vector3(seachLine, y, -7.2f), transform.rotation); deleteBlock++; delete++; } else if (gameController.fields[seachLine, y] == DELETE_LIGHT) { gameController.fields[seachLine, y] = 5; //ブロックの表示を優先度に合わせて変更 Destroy(gameController.delBlockPrefabs[seachLine, y].gameObject); gameController.delBlockPrefabs[seachLine, y] = Instantiate(DeleteAfterPrefab, new Vector3(seachLine, y, -7.2f), transform.rotation); deleteBlock++; delete++; } if (gameController.delBlocks[seachLine, y] == SQUARE_BRACKBLOCK || gameController.delBlocks[seachLine, y] == SQUARE_LIGHTBLOCK) { deleteSquare++; } } //探索ラインを戻す if (completionLine == 14) { completionLine = 0; delete = 0; } lineDecisionState = LineDecisionState.PROPRIETY; break; #endregion #region 消去実行の可否 case LineDecisionState.PROPRIETY: lineDecisionState = LineDecisionState.SEARCH; //ラインのブロックの数で命令を変更 if (delete == 0) { //ブロックを消去 lineDecisionState = LineDecisionState.NOTIFICATION; } else if (delete > 0) { //消去ブロックがあることを通知 soundController.TimeLineCheckSound(); } break; #endregion #region 通知 case LineDecisionState.NOTIFICATION: //初期化とブロックの消去を実行 timeLineMove.DeleteBlocks(deleteBlock); timeLineMove.DeleteSquares(deleteSquare); deleteBlock = 0; deleteSquare = 0; timeLineController.DeleteResult(); lineDecisionState = LineDecisionState.SEARCH; break; #endregion } }
///<summary> ///判定の開始 ///</summary> public void DecisionStart() { lineDecisionState = LineDecisionState.SEARCH; }