コード例 #1
0
        //Callback from Playfield to destroy a line in view
        private void DestroyLine(int y)
        {
            mTetriminos.ForEach(x => x.DestroyLine(y));
            mTetriminos.RemoveAll(x => x == null);

            Score.instance.AddPoints(mGameSettings.pointsByBreakingLine);

            int rowsCleared = Score.instance.PlayerScore / mGameSettings.pointsByBreakingLine;

            music.Play("clear_row");
            music.RTPC("score", Score.instance.PlayerScore);
            if (rowsCleared >= stages[stages.Length - 1])
            {
                SetGameOver(true);
                return;
            }
            for (int i = stages.Length - 2; i >= 0; i--)
            {
                if (rowsCleared >= stages[i])
                {
                    IncStage(i + 1);
                    break;
                }
            }
        }