public void LoadPiles(GalaxyCardGameMainGameClass mainGame, GalaxyCardGameVMData model, CommandContainer command)
        {
            _mainGame  = mainGame;
            _model     = model;
            PlanetHand = new HandObservable <GalaxyCardGameCardInformation>(command);
            PlanetHand.BoardClickedAsync += PlanetHand_BoardClickedAsync;
            PlanetHand.Maximum            = 2;
            PlanetHand.Visible            = true;
            PlanetHand.Text = $"{NickName} Planet";
            //PlanetHand.SendEnableProcesses(mainGame.ThisMod!, () =>
            //{
            //    if (PlayerCategory != EnumPlayerCategory.Self)
            //        return false;
            //    if (mainGame.SaveRoot!.GameStatus != EnumGameStatus.PlaceSets)
            //        return false;
            //    return mainGame.HasAutomaticPlanet() || PlanetHand.HandList.Count == 0;

            //});
            Moons = new MainSetsObservable <EnumSuitList, EnumColorList, GalaxyCardGameCardInformation, MoonClass, SavedSet>(command);
            Moons.SetClickedAsync += Moons_SetClickedAsync;
            Moons.HasFrame         = true;
            Moons.Text             = $"{NickName} Moons";
            //Moons.Visible = true;
            //Moons.SendEnableProcesses(mainGame.ThisMod!, () =>
            //{
            //    if (PlayerCategory != EnumPlayerCategory.Self)
            //        return false;
            //    return CanEnableMoon();
            //});
        }
Example #2
0
        public void Init(MainSetsObservable <SU, CO, RU, SE, T> thisMod, string tagUsed)
        {
            _tagUsed               = tagUsed;
            _thisStack             = new StackLayout();
            _thisStack.Orientation = StackOrientation.Horizontal;
            IndividualRummySetXF <SU, CO, RU, GC, GW, SE, T> thisTemp;
            Grid       firstGrid  = new Grid();
            ScrollView thisScroll = new ScrollView();

            thisScroll.Orientation = ScrollOrientation.Both;
            if (thisMod.HasFrame == true)
            {
                Text = thisMod.Text;
                var thisRect = ThisFrame.GetControlArea();
                thisScroll.Margin = new Thickness((double)thisRect.Left + (float)3, (double)thisRect.Top + (float)3, 3, 5); // try this way.
                firstGrid.Children.Add(ThisDraw);
                firstGrid.Children.Add(thisScroll);
            }
            else
            {
                firstGrid.Children.Add(thisScroll);// this alone.
            }
            _setList = thisMod.SetList;
            foreach (var thisSet in thisMod.SetList)
            {
                thisTemp             = new IndividualRummySetXF <SU, CO, RU, GC, GW, SE, T>();
                thisTemp.Divider     = Divider;
                thisTemp.Additionals = Additionals;
                thisTemp.LoadList(thisSet, tagUsed);
                _thisStack.Children.Add(thisTemp);
            }
            _setList.CollectionChanged += SetList_CollectionChanged;
            thisScroll.Content          = _thisStack;
            Content = firstGrid;
        }
 public ChinazoVMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver)
 {
     Deck1                = new DeckObservablePile <ChinazoCard>(aggregator, command);
     Pile1                = new PileObservable <ChinazoCard>(aggregator, command);
     PlayerHand1          = new HandObservable <ChinazoCard>(command);
     TempSets             = new TempSetsObservable <EnumSuitList, EnumColorList, ChinazoCard>(command, resolver);
     MainSets             = new MainSetsObservable <EnumSuitList, EnumColorList, ChinazoCard, PhaseSet, SavedSet>(command);
     TempSets.HowManySets = 5;
 }
 public Rummy500VMData(IEventAggregator aggregator, CommandContainer command)
 {
     Deck1         = new DeckObservablePile <RegularRummyCard>(aggregator, command);
     Pile1         = new PileObservable <RegularRummyCard>(aggregator, command);
     PlayerHand1   = new HandObservable <RegularRummyCard>(command);
     MainSets1     = new MainSetsObservable <EnumSuitList, EnumColorList, RegularRummyCard, RummySet, SavedSet>(command);
     DiscardList1  = new DiscardListCP(command);
     Pile1.Visible = false;
 }
 public FiveCrownsVMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver)
 {
     Deck1                = new DeckObservablePile <FiveCrownsCardInformation>(aggregator, command);
     Pile1                = new PileObservable <FiveCrownsCardInformation>(aggregator, command);
     PlayerHand1          = new HandObservable <FiveCrownsCardInformation>(command);
     TempSets             = new TempSetsObservable <EnumSuitList, EnumColorList, FiveCrownsCardInformation>(command, resolver);
     MainSets             = new MainSetsObservable <EnumSuitList, EnumColorList, FiveCrownsCardInformation, PhaseSet, SavedSet>(command);
     TempSets.HowManySets = 6;
 }
 public Phase10VMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver)
 {
     Deck1                = new DeckObservablePile <Phase10CardInformation>(aggregator, command);
     Pile1                = new PileObservable <Phase10CardInformation>(aggregator, command);
     PlayerHand1          = new HandObservable <Phase10CardInformation>(command);
     TempSets             = new TempSetsObservable <EnumColorTypes, EnumColorTypes, Phase10CardInformation>(command, resolver);
     MainSets             = new MainSetsObservable <EnumColorTypes, EnumColorTypes, Phase10CardInformation, PhaseSet, SavedSet>(command);
     TempSets.HowManySets = 5;
 }
Example #7
0
 public MonasteryCardGameVMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver)
 {
     Deck1                = new DeckObservablePile <MonasteryCardInfo>(aggregator, command);
     Pile1                = new PileObservable <MonasteryCardInfo>(aggregator, command);
     PlayerHand1          = new HandObservable <MonasteryCardInfo>(command);
     TempSets             = new TempSetsObservable <EnumSuitList, EnumColorList, MonasteryCardInfo>(command, resolver);
     MainSets             = new MainSetsObservable <EnumSuitList, EnumColorList, MonasteryCardInfo, RummySet, SavedSet>(command);
     TempSets.HowManySets = 4;
 }
 public DummyRummyVMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver)
 {
     Deck1                = new DeckObservablePile <RegularRummyCard>(aggregator, command);
     Pile1                = new PileObservable <RegularRummyCard>(aggregator, command);
     PlayerHand1          = new HandObservable <RegularRummyCard>(command);
     TempSets             = new TempSetsObservable <EnumSuitList, EnumColorList, RegularRummyCard>(command, resolver);
     MainSets             = new MainSetsObservable <EnumSuitList, EnumColorList, RegularRummyCard, DummySet, SavedSet>(command);
     TempSets.HowManySets = 6;
 }
 public OpetongVMData(IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver, OpetongGameContainer gameContainer)
 {
     Deck1                = new DeckObservablePile <RegularRummyCard>(aggregator, command);
     Pile1                = new PileObservable <RegularRummyCard>(aggregator, command);
     PlayerHand1          = new HandObservable <RegularRummyCard>(command);
     TempSets             = new TempSetsObservable <EnumSuitList, EnumColorList, RegularRummyCard>(command, resolver);
     TempSets.HowManySets = 3;
     //hopefully no problem with init each time.
     MainSets = new MainSetsObservable <EnumSuitList, EnumColorList, RegularRummyCard, RummySet, SavedSet>(command);
     Pool1    = new CardPool(gameContainer);
 }
Example #10
0
 public void Update(MainSetsObservable <SU, CO, RU, SE, T> thisMod)
 {
     _thisStack !.Children.Clear();
     _setList !.CollectionChanged -= SetList_CollectionChanged;
     _setList = thisMod.SetList;
     _setList.CollectionChanged += SetList_CollectionChanged;
     foreach (var thisSet in thisMod.SetList)
     {
         var thisTemp = new IndividualRummySetWPF <SU, CO, RU, GC, GW, SE, T>();
         thisTemp.Divider     = Divider;
         thisTemp.Additionals = Additionals;
         thisTemp.LoadList(thisSet, _tagUsed);
         _thisStack.Children.Add(thisTemp);
     }
 }