public void TryToDestroyRow() { // Destroys Row as soon as it is ready if (RowReadyToDestroy()) { // then it destroys everything in this row DestroyRow(); // We pass the time because if the difference between one row and the next row being destroyed is low then we know that they were // destroyed in the same move ActiveGame.AddPoints(time); ActiveGame.UpdateTime(time); // Updating time when the last row was destroyed // then it makes other blocks upstairs fall down TetrisDecrease(index + 1); // + 1 because we want to fall only that blocks which are higher than our destroyed one } }