public ChinazoMainViewModel(CommandContainer commandContainer,
                                    ChinazoMainGameClass mainGame,
                                    ChinazoVMData viewModel,
                                    BasicData basicData,
                                    TestOptions test,
                                    IGamePackageResolver resolver,
                                    ChinazoGameContainer gameContainer
                                    )
            : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
        {
            _mainGame      = mainGame;
            _model         = viewModel;
            _gameContainer = gameContainer;
            _model.Deck1.NeverAutoDisable = true;
            _model.PlayerHand1.AutoSelect = HandObservable <ChinazoCard> .EnumAutoType.SelectAsMany;
            var player = _mainGame.PlayerList.GetSelf();

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


            _model.TempSets.Init(this);
            _model.TempSets.ClearBoard(); //try this too.
            _model.TempSets.SetClickedAsync += TempSets_SetClickedAsync;
            _model.MainSets.SetClickedAsync += MainSets_SetClickedAsync;
            _model.MainSets.SendEnableProcesses(this, () =>
            {
                if (_mainGame !.OtherTurn > 0)
                {
                    return(false);
                }
                return(_mainGame.SingleInfo !.LaidDown);
            });
Example #2
0
        private readonly ChinazoGameContainer _gameContainer; //if we don't need it, take it out.

        public ChinazoMainGameClass(IGamePackageResolver mainContainer,
                                    IEventAggregator aggregator,
                                    BasicData basicData,
                                    TestOptions test,
                                    ChinazoVMData currentMod,
                                    IMultiplayerSaveState state,
                                    IAsyncDelayer delay,
                                    ICardInfo <ChinazoCard> cardInfo,
                                    CommandContainer command,
                                    ChinazoGameContainer gameContainer,
                                    ChinazoDelegates delegates)
            : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer)
        {
            _model                     = currentMod;
            _command                   = command;
            _gameContainer             = gameContainer;
            _rummys                    = new RummyProcesses <EnumSuitList, EnumColorList, ChinazoCard>();
            delegates.CardsToPassOut   = (() => CardsToPassOut);
            _gameContainer.ModifyCards = ModifyCards;
        }
 public PhaseSet(ChinazoGameContainer gameContainer) : base(gameContainer.Command)
 {
     CanExpandRuns  = true;
     _gameContainer = gameContainer;
 }