protected override void AfterRemovingFromLastPile(int Lasts)
 {
     if (Piles.HasCardInColumn(Lasts) || GlobalClass.MainModel !.Heel1.IsEndOfDeck())
     {
         return;
     }
     Piles.AddCardToColumn(Lasts, GlobalClass.MainModel.Heel1.DrawCard());
 }
 public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
 {
     if (Piles.HasCardInColumn(whichOne) == false && GlobalClass.MainModel !.Heel1.IsEndOfDeck())
     {
         return(true);
     }
     return(Piles.HasCardInColumn(whichOne) == false && GlobalClass.MainModel !.Heel1 !.CardsLeft() == 1);
 }
        protected async override Task ContinueOpenSavedAsync()
        {
            //anything else you need will be here
            var newList = SaveRoot.HeelList.GetNewObjectListFromDeckList(DeckList);

            GlobalClass.MainModel !.Heel1.OriginalList(newList);
            await base.ContinueOpenSavedAsync();
        }
        protected override void AfterShuffleCards()
        {
            var thisCol = CardList.Take(13).ToRegularDeckDict();

            CardList !.RemoveRange(0, 13);
            GlobalClass.MainModel !.Heel1.OriginalList(thisCol);
            thisCol = CardList.Take(1).ToRegularDeckDict();
            CardList.RemoveRange(0, 1);
            AfterShuffle(thisCol);
            CardList.Clear();
        }
        public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
        {
            if (Piles.HasCardInColumn(whichOne) == false)
            {
                if (GlobalClass.MainModel !.Heel1.IsEndOfDeck() == false)
                {
                    throw new BasicBlankException("If its not at the end of the deck; a card needs to be placed");
                }
                return(true);
            }
            var prevCard = Piles.GetLastCard(whichOne);

            return(prevCard.Value - 1 == thisCard.Value && prevCard.Suit != thisCard.Suit);
        }
Пример #6
0
        protected async override Task ContinueOpenSavedAsync()
        {
            //anything else you need will be here
            var newList = SaveRoot.HeelList.GetNewObjectListFromDeckList(DeckList);

            GlobalClass.MainModel !.Heel1.OriginalList(newList);
            if (newList.Count == 1)
            {
                GlobalClass.MainModel.Heel1.DeckStyle = DeckObservablePile <SolitaireCard> .EnumStyleType.AlwaysKnown;
            }
            else
            {
                GlobalClass.MainModel.Heel1.DeckStyle = DeckObservablePile <SolitaireCard> .EnumStyleType.Unknown;
            }
            await base.ContinueOpenSavedAsync();
        }
Пример #7
0
        public async Task HeelToMainAsync()
        {
            if (_thisMod !.WastePiles1 !.OneSelected() > -1)
            {
                return;
            }
            int index = ValidMainColumn(GlobalClass.MainModel !.Heel1.RevealCard());

            if (index == -1)
            {
                GlobalClass.MainModel.Heel1.IsSelected = false;
                return;
            }
            var thisCard = GlobalClass.MainModel.Heel1.DrawCard();

            await FinishAddingToMainPileAsync(index, thisCard);
        }
Пример #8
0
 protected async override Task FinishSaveAsync()
 {
     //anything else to finish save will be here.
     SaveRoot.HeelList = GlobalClass.MainModel !.Heel1.GetCardIntegers();
     await base.FinishSaveAsync();
 }