public MonasteryCardGameMainViewModel(CommandContainer commandContainer,
                                              MonasteryCardGameMainGameClass mainGame,
                                              MonasteryCardGameVMData viewModel,
                                              BasicData basicData,
                                              TestOptions test,
                                              IGamePackageResolver resolver,
                                              MonasteryCardGameGameContainer gameContainer
                                              )
            : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
        {
            _mainGame      = mainGame;
            _model         = viewModel;
            _basicData     = basicData;
            _gameContainer = gameContainer;
            _model.Deck1.NeverAutoDisable = true;
            var player = _mainGame.PlayerList.GetSelf();

            mainGame.Aggregator.Subscribe(player); //hopefully this works now.

            _model.TempSets.Init(this);
            _model.TempSets.ClearBoard();
            _model.TempSets.SetClickedAsync += TempSets_SetClickedAsync;
            _model.MainSets.SetClickedAsync += MainSets_SetClickedAsync;
            _model.PlayerHand1 !.AutoSelect  = HandObservable <MonasteryCardInfo> .EnumAutoType.SelectAsMany;
            _model.MainSets.SendEnableProcesses(this, () =>
            {
                if (_gameContainer !.AlreadyDrew == false)
                {
                    return(false);
                }
                return(_mainGame.SingleInfo !.FinishedCurrentMission);
            });
 public RummyClass(MonasteryCardGameGameContainer gameContainer)
 {
     EntireList = gameContainer.DeckList !.ToRegularDeckDict(); //in this case, no need for init.
     if (EntireList.Count == 0)
     {
         throw new BasicBlankException("Cannot have an empty list.  Rethink");
     }
 }
 public MonasteryCardGameMainGameClass(IGamePackageResolver mainContainer,
                                       IEventAggregator aggregator,
                                       BasicData basicData,
                                       TestOptions test,
                                       MonasteryCardGameVMData currentMod,
                                       IMultiplayerSaveState state,
                                       IAsyncDelayer delay,
                                       ICardInfo <MonasteryCardInfo> cardInfo,
                                       CommandContainer command,
                                       MonasteryCardGameGameContainer gameContainer)
     : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer)
 {
     _model         = currentMod;
     _command       = command;
     _gameContainer = gameContainer;
 }
 public RummySet(MonasteryCardGameGameContainer gameContainer) : base(gameContainer.Command)
 {
     CanExpandRuns  = true;
     _gameContainer = gameContainer;
 }