Example #1
0
        public void StartSolitaire()
        {
            PlayerAccountData thisPlayer = new PlayerAccountData();
              DeckRoom deckRoomLogic = new DeckRoom(this);
              thisPlayer.Deck = deckRoomLogic.Run();
              if(thisPlayer.Deck != null)
              {
            List<PlayerAccountData> players = new List<PlayerAccountData>();

            thisPlayer.Info = CreateLocalPlayerInfo();
            thisPlayer.Deck.MainCards.Shuffle();
            thisPlayer.Password = thisPlayer.Info.NickName;
            players.Add(thisPlayer);

            PlayerAccountData opponentPlayer = new PlayerAccountData();
            opponentPlayer.Info = (PlayerInfo)thisPlayer.Info.Clone();
            opponentPlayer.Info.NickName = "Opponent";
            opponentPlayer.Deck = ServicesProvider.DecksService.LoadDeck(thisPlayer.Deck.Category, thisPlayer.Deck.Name);
            opponentPlayer.Deck.MainCards.Shuffle();
            opponentPlayer.Password = opponentPlayer.Info.NickName;
            players.Add(opponentPlayer);

            #if DEBUG
            PlayerAccountData debugPlayer = new PlayerAccountData();
            debugPlayer.Info = (PlayerInfo)thisPlayer.Info.Clone();
            debugPlayer.Info.NickName = "Debug";
            debugPlayer.Deck = ServicesProvider.DecksService.LoadDeck(thisPlayer.Deck.Category, thisPlayer.Deck.Name);
            debugPlayer.Deck.MainCards.Shuffle();
            debugPlayer.Password = debugPlayer.Info.NickName;
            players.Add(debugPlayer);
            #endif

            var gameModel = new GameModel(gameItem);
            var gameView = viewFactory.CreateGameView();
            using(GameCommandHandler gameCommandHandler = new GameCommandHandler(gameModel, thisPlayer.Info.NickName, servicesProvider))
            {
              var gameController = new GameController(gameCommandHandler, gameModel, gameView, players, GameType.Solitaire, servicesProvider, true);
              gameController.ShowOptionsRequested += new EventHandler(gameController_ShowOptionsRequested);
              gameView.ShowModal();
            }
              }
        }
Example #2
0
 public void ShowDeckEditor()
 {
     DeckItem deck = null;
       do
       {
     DeckRoom deckRoom = new DeckRoom(this);
     deck = deckRoom.Run();
     if(deck != null)
     {
       var deckEditor = new DeckEditorModel(servicesProvider, gameItem, deck);
       var deckEditorView = viewFactory.CreateDeckEditorView();
       var deckEditorController = new DeckEditorController(deckEditor, deckEditorView, servicesProvider);
       deckEditorView.ShowModal();
     }
       } while(deck != null);
 }