public string GetMessage(BlockGridScanner scanner)
 {
     if (needsFormatting == false)
     {
         return(message);
     }
     else
     {
         return(string.Format(message, scanner.BlocksInARow));
     }
 }
        private void Scanner_OnMove(BlockGridScanner obj)
        {
            // Check if the number of moves exceed the stage
            if ((CurrentStage != null) && (obj.NumMoves >= nextShowStage))
            {
                // Hide the previous message
                PopUps.RemoveDialog(stageId);

                // Increment stage
                ++currentStage;

                // Check if there is a next stage
                if (CurrentStage != null)
                {
                    // Show the next message
                    nextShowStage += CurrentStage.NumMoves;
                    stageId        = PopUps.ShowNewDialog(CurrentStage.GetMessage(scanner));
                }
            }
        }