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); });
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; }