Example #1
0
    /// <summary>
    /// shape終了処理
    /// </summary>
    void finalize()
    {
        // ボードの対応マスにブロックを登録
        foreach (var block in Blocks)
        {
            // 近い整数値に丸める
            block.position = Utility.roundVector(block.position);
            int x = (int)(block.position.x + 0.5f);
            int y = (int)(block.position.y + 0.5f);

            // 終了処理のタイミングでブロックがボードの範囲外だった場合はゲームオーバー
            if (y >= Ingame.Y_SIZE)
            {
                Ingame.requestGameOver();
                break;
            }

            Ingame.Board[x, y] = block;
        }

        // 自身を削除
        Destroy(this.gameObject);
        // 次の形状を生成リクエスト
        Ingame.requestSpawnShape();
    }