コード例 #1
0
        public BasicHandChooser(LifeBoardGameVMData model, IEventAggregator aggregator)
        {
            StackLayout stack = new StackLayout()
            {
                Orientation = StackOrientation.Horizontal
            };
            Button button = GetGamingButton("", nameof(BasicSubmitViewModel.SubmitAsync));

            _button = button;

            //button.FontSize = 50;
            button.VerticalOptions = LayoutOptions.Start;
            LifeHandXF hand = new LifeHandXF();

            hand.HandType = HandObservable <LifeBaseCard> .EnumHandList.Vertical;

            stack.Children.Add(hand);
            StackLayout seconds = new StackLayout();

            seconds.Children.Add(button);

            stack.Children.Add(button);
            hand.LoadList(model.HandList, "");
            Content     = stack;
            _aggregator = aggregator;
        }
コード例 #2
0
        public ShowCardView(LifeBoardGameVMData model)
        {
            LifePileXF card = new LifePileXF();

            card.Init(model.SinglePile, "");
            Content = card;
        }
コード例 #3
0
 public GenderProcesses(LifeBoardGameVMData model, LifeBoardGameGameContainer gameContainer)
 {
     _model         = model;
     _gameContainer = gameContainer;
     _gameContainer.ComputerChooseGenderAsync = ComputerChooseGenderAsync;
     _gameContainer.ShowGenderAsync           = ShowGenderAsync;
 }
コード例 #4
0
        //this is going to be the hardest.  because this one is responsible for making sure the proper screens load.

        public LifeBoardGameMainViewModel(CommandContainer commandContainer,
                                          LifeBoardGameMainGameClass mainGame,
                                          LifeBoardGameVMData model,
                                          BasicData basicData,
                                          TestOptions test,
                                          IGamePackageResolver resolver,
                                          LifeBoardGameGameContainer gameContainer
                                          )
            : base(commandContainer, mainGame, model, basicData, test, resolver)
        {
            _mainGame = mainGame;
            if (_mainGame.SaveRoot.GameStatus == EnumWhatStatus.NeedChooseGender)
            {
                throw new BasicBlankException("Cannot load main view model because you need to choose gender.  Rethink");
            }
            if (_mainGame.PlayerList.Any(x => x.Gender == EnumGender.None))
            {
                throw new BasicBlankException("Cannot load the main screen if sombody did not choose gender.  Rethink");
            }
            //_basicData = basicData;
            _resolver = resolver;
            gameContainer.HideCardAsync = HideCardAsync;
            gameContainer.CardVisible   = (() => ShowCardScreen != null);
            if (LifeBoardGameGameContainer.StartCollegeCareer && basicData.GamePackageMode == EnumGamePackageMode.Production)
            {
                throw new BasicBlankException("You cannot start college career because its in production");
            }
        }
コード例 #5
0
 public ChooseHouseViewModel(CommandContainer commandContainer,
                             LifeBoardGameVMData model,
                             IHouseProcesses processes
                             ) : base(commandContainer)
 {
     _model     = model;
     _processes = processes;
     //decided to take a risk here.
 }
コード例 #6
0
 public MoveProcesses(LifeBoardGameVMData model,
                      LifeBoardGameGameContainer gameContainer,
                      GameBoardProcesses gameBoard
                      )
 {
     _model         = model;
     _gameContainer = gameContainer;
     _gameBoard     = gameBoard;
 }
コード例 #7
0
 public ChooseCareerViewModel(CommandContainer commandContainer,
                              LifeBoardGameGameContainer gameContainer,
                              LifeBoardGameVMData model,
                              ICareerProcesses processes
                              ) : base(commandContainer)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _processes     = processes;
     //this time, can't double check unfortunately.
 }
コード例 #8
0
 public ChooseGenderViewModel(CommandContainer commandContainer, LifeBoardGameVMData model, IGenderProcesses processes, LifeBoardGameGameContainer gameContainer)
 {
     CommandContainer = commandContainer;
     _model           = model;
     _processes       = processes;
     _gameContainer   = gameContainer;
     _gameContainer.SelectGenderAsync = _processes.ChoseGenderAsync;
     _processes.SetInstructions       = (x => Instructions = x);
     _processes.SetTurn = (x => Turn = x); //has to set delegates before init obviously.
     _model.GenderChooser.ItemClickedAsync += GenderChooser_ItemClickedAsync;
     //_processes.Init();
 }
コード例 #9
0
 public ReturnStockViewModel(CommandContainer commandContainer,
                             LifeBoardGameGameContainer gameContainer,
                             LifeBoardGameVMData model,
                             IReturnStockProcesses processes
                             ) : base(commandContainer)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _processes     = processes;
     if (_gameContainer.SaveRoot.GameStatus != EnumWhatStatus.NeedReturnStock)
     {
         throw new BasicBlankException("Does not even need to return stock.  Rethink");
     }
 }
コード例 #10
0
 public ChooseSalaryViewModel(CommandContainer commandContainer,
                              LifeBoardGameGameContainer gameContainer,
                              LifeBoardGameVMData model,
                              IBasicSalaryProcesses processes
                              ) : base(commandContainer)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _processes     = processes;
     if (_gameContainer.SaveRoot.GameStatus != EnumWhatStatus.NeedChooseSalary)
     {
         throw new BasicBlankException("Does not even need to choose salary.  Rethink");
     }
 }
コード例 #11
0
 public StealTilesViewModel(
     CommandContainer commandContainer,
     LifeBoardGameGameContainer gameContainer,
     LifeBoardGameVMData model,
     IStolenTileProcesses processes
     ) : base(commandContainer)
 {
     if (gameContainer.SaveRoot.GameStatus != EnumWhatStatus.NeedStealTile)
     {
         throw new BasicBlankException("Was not stealing tiles");
     }
     _gameContainer      = gameContainer;
     _model              = model;
     _processes          = processes;
     _model.PlayerChosen = ""; //i think
 }
コード例 #12
0
        //iffy
        public TradeSalaryViewModel(
            CommandContainer commandContainer,
            LifeBoardGameGameContainer gameContainer,
            LifeBoardGameVMData model,
            ITradeSalaryProcesses processes
            ) : base(commandContainer)
        {
            if (gameContainer.SaveRoot.GameStatus != EnumWhatStatus.NeedTradeSalary)
            {
                throw new BasicBlankException("Was not trading salary.  Therefore, should not have loaded the trade salary view model.  Rethink");
            }

            _gameContainer = gameContainer;
            _model         = model;
            _processes     = processes;
            //_model.PlayerChosen = ""; //i think
            //reset the other part.
        }
コード例 #13
0
        public BasicPlayerPicker(LifeBoardGameVMData model)
        {
            //i think just the listview and submit
            //hopefully this one does not need end turn (?)
            //this is desktop anyways.
            ListChooserWPF list  = new ListChooserWPF();
            StackPanel     stack = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            stack.Children.Add(list);
            list.LoadLists(model.PlayerPicker);
            Button button = GetGamingButton("Submit", nameof(BasicSubmitViewModel.SubmitAsync));

            button.FontSize = 100;      //make 100 instead of 200 now.
            stack.Children.Add(button); //can always adjust as needed anyways.
            Content = stack;
        }
コード例 #14
0
        public BasicHandChooser(LifeBoardGameVMData model)
        {
            StackPanel stack = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };
            Button button = GetGamingButton("", nameof(BasicSubmitViewModel.SubmitAsync));

            _button                  = button;
            button.FontSize          = 100; //make 100 instead of 200 now.
            button.VerticalAlignment = VerticalAlignment.Top;
            LifeHandWPF hand = new LifeHandWPF();

            hand.HandType = HandObservable <LifeBaseCard> .EnumHandList.Vertical;

            stack.Children.Add(hand);
            stack.Children.Add(button);
            hand.LoadList(model.HandList, "");
            Content = stack;
        }
コード例 #15
0
        public BasicPlayerPicker(LifeBoardGameVMData model, IEventAggregator aggregator, LifeBoardGameGameContainer gameContainer)
        {
            //i think just the listview and submit
            //hopefully this one does not need end turn (?)
            //this is desktop anyways.
            ListChooserXF list = new ListChooserXF();

            list.ItemHeight = 50; // try this.
            StackLayout stack = new StackLayout();

            //{
            //    Orientation = StackOrientation.Horizontal
            //};
            stack.Children.Add(list);
            list.LoadLists(model.PlayerPicker);
            _button          = GetGamingButton("Submit", nameof(BasicSubmitViewModel.SubmitAsync));
            _button.FontSize = 80;       //could be iffy.
            stack.Children.Add(_button); //can always adjust as needed anyways.
            Content        = stack;
            _aggregator    = aggregator;
            _gameContainer = gameContainer;
        }
コード例 #16
0
        public ChooseGenderView(IEventAggregator aggregator, LifeBoardGameVMData model, LifeBoardGameGameContainer gameContainer)
        {
            _aggregator    = aggregator;
            _gameContainer = gameContainer;
            _aggregator.Subscribe(this);
            StackPanel stack  = new StackPanel();
            var        picker = new EnumPickerWPF <CirclePieceCP <EnumGender>, CirclePieceWPF <EnumGender>, EnumGender>();

            stack.Children.Add(picker);
            picker.LoadLists(model.GenderChooser);
            _car           = new CarPieceWPF();
            _car.Height    = 186;
            _car.Width     = 102;
            _car.Margin    = new Thickness(0, 20, 0, 0);
            _car.MainColor = _gameContainer.SingleInfo !.Color.ToColor(); //because too late the first time it runs.
            _car.Init();
            stack.Children.Add(_car);
            SimpleLabelGrid simple = new SimpleLabelGrid();

            simple.AddRow("Turn", nameof(ChooseGenderViewModel.Turn));
            simple.AddRow("Instructions", nameof(ChooseGenderViewModel.Instructions));
            stack.Children.Add(simple.GetContent);
            Content = stack;
        }
コード例 #17
0
 public LifeBoardGameMainGameClass(IGamePackageResolver resolver,
                                   IEventAggregator aggregator,
                                   BasicData basic,
                                   TestOptions test,
                                   LifeBoardGameVMData model,
                                   IMultiplayerSaveState state,
                                   IAsyncDelayer delay,
                                   CommandContainer command,
                                   LifeBoardGameGameContainer container,
                                   IBoardProcesses boardProcesses,
                                   ISpinnerProcesses spinnerProcesses,
                                   ITwinProcesses twinProcesses,
                                   IHouseProcesses houseProcesses,
                                   IChooseStockProcesses chooseStockProcesses,
                                   IReturnStockProcesses returnStockProcesses,
                                   ICareerProcesses careerProcesses,
                                   IBasicSalaryProcesses basicSalaryProcesses,
                                   ITradeSalaryProcesses tradeSalaryProcesses,
                                   IStolenTileProcesses stolenTileProcesses,
                                   GameBoardProcesses gameBoard
                                   ) : base(resolver, aggregator, basic, test, model, state, delay, command, container)
 {
     _model                = model;
     _boardProcesses       = boardProcesses; //hopefully i won't regret this.  can always do delegates if necessary as well.
     _spinnerProcesses     = spinnerProcesses;
     _twinProcesses        = twinProcesses;
     _houseProcesses       = houseProcesses;
     _chooseStockProcesses = chooseStockProcesses;
     _returnStockProcesses = returnStockProcesses;
     _careerProcesses      = careerProcesses;
     _basicSalaryProcesses = basicSalaryProcesses;
     _tradeSalaryProcesses = tradeSalaryProcesses;
     _stolenTileProcesses  = stolenTileProcesses;
     _gameBoard            = gameBoard;
     _gameContainer        = container;
 }
コード例 #18
0
 public BasicSalaryProcesses(LifeBoardGameVMData model, LifeBoardGameGameContainer gameContainer)
 {
     _model         = model;
     _gameContainer = gameContainer;
 }
コード例 #19
0
 public StealTilesView(LifeBoardGameVMData model) : base(model)
 {
 }
コード例 #20
0
 public ChooseSalaryView(LifeBoardGameVMData model) : base(model)
 {
 }
コード例 #21
0
 public HouseProcesses(LifeBoardGameVMData model, LifeBoardGameGameContainer gameContainer)
 {
     _model         = model;
     _gameContainer = gameContainer;
 }
コード例 #22
0
 public ChooseHouseView(LifeBoardGameVMData model) : base(model)
 {
 }
コード例 #23
0
 public ChooseStockProcesses(LifeBoardGameVMData model, LifeBoardGameGameContainer gameContainer)
 {
     _model         = model;
     _gameContainer = gameContainer;
 }
コード例 #24
0
 public TradeSalaryView(LifeBoardGameVMData model, IEventAggregator aggregator, LifeBoardGameGameContainer gameContainer) : base(model, aggregator, gameContainer)
 {
 }
コード例 #25
0
 public TradeSalaryView(LifeBoardGameVMData model) : base(model)
 {
 }
コード例 #26
0
 public ChooseCareerView(LifeBoardGameVMData model) : base(model)
 {
 }
コード例 #27
0
 public ChooseHouseView(LifeBoardGameVMData model, IEventAggregator aggregator) : base(model, aggregator)
 {
 }
コード例 #28
0
 public StealTilesView(LifeBoardGameVMData model, IEventAggregator aggregator, LifeBoardGameGameContainer gameContainer) : base(model, aggregator, gameContainer)
 {
 }
コード例 #29
0
 public ReturnStockView(LifeBoardGameVMData model, IEventAggregator aggregator) : base(model, aggregator)
 {
 }
コード例 #30
0
 public ReturnStockView(LifeBoardGameVMData model) : base(model)
 {
 }