public GameScreenViewModel(MainScreenViewModel mainScreenViewModel)
 {
     this.Puzzle         = Puzzle.FromRowStrings("..", "xx");
     this.Facade         = new PiCrossFacade();
     this.PlayablePuzzle = Facade.CreatePlayablePuzzle(this.Puzzle);
     this.Start(mainScreenViewModel, PlayablePuzzle);
 }
 public ChooseCommand(MainScreenViewModel msvm)
 {
     mainScreenViewModel = msvm;
     canExecute          = true;
 }
 public StartCommand(MainScreenViewModel msvm)
 {
     mainScreenViewModel = msvm;
     canExecute          = true;
 }
 public StartScreenViewModel(MainScreenViewModel mainScreenViewModel)
 {
     this.Msvm   = mainScreenViewModel;
     this.Start  = new StartCommand(this.Msvm);
     this.Choose = new ChooseCommand(this.Msvm);
 }
 public void Start(MainScreenViewModel mainScreenViewModel, IPlayablePuzzle puzzle)
 {
     this.Msvm           = mainScreenViewModel;
     this.PlayablePuzzle = puzzle;
     this.Grid           = this.PlayablePuzzle.Grid.Map(square => new SquareViewModel(square)).Copy();
 }
 public GameScreenViewModel(MainScreenViewModel mainScreenViewModel, IPlayablePuzzle playablePuzzle)
 {
     this.Start(mainScreenViewModel, playablePuzzle);
 }