Beispiel #1
0
 public FluxxMainViewModel(CommandContainer commandContainer,
                           FluxxMainGameClass mainGame,
                           FluxxVMData viewModel,
                           BasicData basicData,
                           TestOptions test,
                           IGamePackageResolver resolver,
                           FluxxGameContainer gameContainer,
                           IDiscardProcesses discardProcesses,
                           IAnalyzeProcesses analyzeQueProcesses,
                           KeeperContainer keeperContainer,
                           FluxxDelegates delegates
                           )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _mainGame                              = mainGame;
     _model                                 = viewModel;
     _resolver                              = resolver;
     _gameContainer                         = gameContainer;
     _discardProcesses                      = discardProcesses;
     _analyzeQueProcesses                   = analyzeQueProcesses;
     _keeperContainer                       = keeperContainer;
     _delegates                             = delegates;
     _model.Deck1.NeverAutoDisable          = true;
     _gameContainer.LoadGiveAsync           = LoadGiveAsync;
     _gameContainer.LoadPlayAsync           = LoadPlayAsync;
     _model.Keeper1.ConsiderSelectOneAsync += OnConsiderSelectOneCardAsync;
     _model.Goal1.ConsiderSelectOneAsync   += OnConsiderSelectOneCardAsync;
 }
Beispiel #2
0
 public ActionEverybodyGetsOneViewModel(FluxxGameContainer gameContainer,
                                        ActionContainer actionContainer,
                                        KeeperContainer keeperContainer,
                                        FluxxDelegates delegates,
                                        IFluxxEvent fluxxEvent,
                                        BasicActionLogic basicActionLogic) : base(gameContainer, actionContainer, keeperContainer, delegates, fluxxEvent, basicActionLogic)
 {
 }
 public ActionFirstCardRandomViewModel(FluxxGameContainer gameContainer,
                                       ActionContainer actionContainer,
                                       KeeperContainer keeperContainer,
                                       FluxxDelegates delegates,
                                       IFluxxEvent fluxxEvent,
                                       BasicActionLogic basicActionLogic) : base(gameContainer, actionContainer, keeperContainer, delegates, fluxxEvent, basicActionLogic)
 {
 }
Beispiel #4
0
 public ActionDiscardRulesViewModel(FluxxGameContainer gameContainer,
                                    ActionContainer actionContainer,
                                    KeeperContainer keeperContainer,
                                    FluxxDelegates delegates,
                                    IFluxxEvent fluxxEvent,
                                    BasicActionLogic basicActionLogic) : base(gameContainer, actionContainer, keeperContainer, delegates, fluxxEvent, basicActionLogic)
 {
     RulesToDiscard = actionContainer.RulesToDiscard;
 }
 public FinalKeeperProcesses(FluxxGameContainer gameContainer,
                             IAnalyzeProcesses analyzeProcesses,
                             FluxxDelegates delegates,
                             IDiscardProcesses discardProcesses
                             )
 {
     _gameContainer    = gameContainer;
     _analyzeProcesses = analyzeProcesses;
     _delegates        = delegates;
     _discardProcesses = discardProcesses;
 }
Beispiel #6
0
 public FluxxMainGameClass(IGamePackageResolver mainContainer,
                           IEventAggregator aggregator,
                           BasicData basicData,
                           TestOptions test,
                           FluxxVMData currentMod,
                           IMultiplayerSaveState state,
                           IAsyncDelayer delay,
                           ICardInfo <FluxxCardInformation> cardInfo,
                           CommandContainer command,
                           FluxxGameContainer gameContainer,
                           IGiveTaxationProcesses giveTaxationProcesses,
                           IEmptyTrashProcesses emptyTrashProcesses,
                           IPlayProcesses playProcesses,
                           ActionContainer actionContainer,
                           KeeperContainer keeperContainer,
                           FluxxDelegates delegates,
                           IShowActionProcesses showActionProcesses,
                           IDiscardProcesses discardProcesses,
                           IRotateTradeHandProcesses rotateTradeHandProcesses,
                           IFinalKeeperProcesses finalKeeperProcesses,
                           IFinalRuleProcesses finalRuleProcesses,
                           IEverybodyOneProcesses everybodyOneProcesses,
                           IDrawUseProcesses drawUseProcesses,
                           IAnalyzeProcesses analyzeProcesses,
                           ILoadActionProcesses loadActionProcesses
                           )
     : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer)
 {
     _model                        = currentMod;
     _command                      = command;
     _gameContainer                = gameContainer;
     _giveTaxationProcesses        = giveTaxationProcesses;
     _emptyTrashProcesses          = emptyTrashProcesses;
     _playProcesses                = playProcesses;
     _actionContainer              = actionContainer;
     _keeperContainer              = keeperContainer;
     _delegates                    = delegates;
     _showActionProcesses          = showActionProcesses;
     _discardProcesses             = discardProcesses;
     _rotateTradeHandProcesses     = rotateTradeHandProcesses;
     _finalKeeperProcesses         = finalKeeperProcesses;
     _finalRuleProcesses           = finalRuleProcesses;
     _everybodyOneProcesses        = everybodyOneProcesses;
     _drawUseProcesses             = drawUseProcesses;
     _analyzeProcesses             = analyzeProcesses;
     _loadActionProcesses          = loadActionProcesses;
     _model.PlayerHand1.AutoSelect = HandObservable <FluxxCardInformation> .EnumAutoType.SelectAsMany;
 }
 public FluxxShellViewModel(IGamePackageResolver mainContainer,
                            CommandContainer container,
                            IGameInfo gameData,
                            BasicData basicData,
                            IMultiplayerSaveState save,
                            TestOptions test,
                            FluxxDelegates delegates
                            )
     : base(mainContainer, container, gameData, basicData, save, test)
 {
     delegates.LoadMainScreenAsync         = LoadMainScreenAsync;
     delegates.LoadProperActionScreenAsync = LoadActionScreenAsync;
     delegates.LoadKeeperScreenAsync       = LoadKeeperScreenAsync;
     delegates.CurrentScreen = GetCurrentScreenCategory;
     _delegates = delegates;
 }
Beispiel #8
0
 public BasicActionScreen(FluxxGameContainer gameContainer,
                          ActionContainer actionContainer,
                          KeeperContainer keeperContainer,
                          FluxxDelegates delegates,
                          IFluxxEvent fluxxEvent,
                          BasicActionLogic basicActionLogic
                          )
 {
     GameContainer    = gameContainer;
     ActionContainer  = actionContainer;
     _keeperContainer = keeperContainer;
     _delegates       = delegates;
     FluxxEvent       = fluxxEvent;
     BasicActionLogic = basicActionLogic;
     CommandContainer = gameContainer.Command;
     ActionContainer.PropertyChanged += ActionContainer_PropertyChanged;
     ButtonChooseCardVisible          = ActionContainer.ButtonChooseCardVisible;
 }
Beispiel #9
0
 public BasicActionLogic(FluxxGameContainer gameContainer, ActionContainer actionContainer, FluxxDelegates delegates)
 {
     _gameContainer   = gameContainer;
     _actionContainer = actionContainer;
     _delegates       = delegates;
 }
        public static async Task PrepActionScreenAsync(this ActionContainer actionContainer, FluxxGameContainer gameContainer, FluxxDelegates delegates, ILoadActionProcesses loadAction)
        {
            actionContainer.Loads++;
            actionContainer.ActionFrameText           = "Action Card Information";
            actionContainer.ButtonChoosePlayerVisible = false;
            actionContainer.OtherHand.Visible         = false; //has to be proven true here too.
            actionContainer.ButtonChooseCardVisible   = false;
            if (delegates.LoadProperActionScreenAsync == null)
            {
                throw new BasicBlankException("Nobody is loading action screen.  Rethink");
            }
            actionContainer.CurrentDetail !.ResetCard();
            if (gameContainer.IsFirstPlayRandom() || gameContainer.CurrentAction == null)
            {
                actionContainer.ActionCategory = EnumActionCategory.FirstRandom; //take a risk.  if hidden bug, then rethink.
                loadAction.LoadFirstRandom();
                await delegates.LoadProperActionScreenAsync(actionContainer);

                return;
            }

            switch (gameContainer.CurrentAction !.Deck)
            {