Esempio n. 1
0
        public void Add(DeckItemViewModel item)
        {
            if (cardCount < 30)
            {
                var prevCard = items.FirstOrDefault(p => p.card.cardId == item.card.cardId);
                if (prevCard == null)
                {
                    // insert item order by cost
                    var nextCard = items.FirstOrDefault(p => p.card.cost >= item.card.cost);
                    if (nextCard == null)
                    {
                        _Add(item);
                    }
                    else
                    {
                        var index = items.IndexOf(nextCard);
                        Insert(index, item);
                    }
                }
                else if (prevCard.cardCount < 2 && prevCard.card.rarity != "Legendary")
                {
                    prevCard.addCard();
                }

                OnPropertyChanged(nameof(cardCount));
            }
        }
Esempio n. 2
0
        private void OnLoaded()
        {
            List <DeckItemBlock> items = new List <DeckItemBlock> {
                Item0, Item1, Item2, Item3, Item4,
                Item5, Item6, Item7, Item8, Item9,
                Item10, Item11, Item12, Item13, Item14,
                Item15, Item16, Item17, Item18, Item19,
                Item20, Item21, Item22, Item23, Item24,
                Item25, Item26, Item27, Item28, Item29,
            };

            int _count = 0;

            for (int Index = 0; Index < Deck.items.Count; Index++)
            {
                DeckItemViewModel t = new DeckItemViewModel(Deck.items[Index].card);
                items[_count++].DataContext = t;
                if (Deck.items[Index].cardCount > 1)
                {
                    items[_count++].DataContext = t;
                }
            }
        }
Esempio n. 3
0
        public static async Task <List <DeckViewModel> > GetDecksAsync()
        {
            IEnumerable <Deck> decks = await GetAsync <IEnumerable <Deck> >();

            var deckList  = new List <DeckViewModel>();
            var CardsPool = new List <AbstractCard>();
            await CardData.GetCards(CardsPool, new CardQueryOption());

            if (decks == null)
            {
                return(deckList);
            }

            foreach (var deck in decks)
            {
                var items = new List <DeckItemViewModel>();

                foreach (var item in deck.items)
                {
                    string id    = item.cardId;
                    int    count = item.cardCount;

                    var selected = CardsPool.FirstOrDefault(p => p.cardId == id);
                    if (selected != null)
                    {
                        var t = new DeckItemViewModel(selected, count);
                        items.Add(t);
                    }
                }


                DeckViewModel dk = new DeckViewModel(deck.id, deck.name, deck.playerClass, items);
                deckList.Add(dk);
            }

            return(deckList);
        }
Esempio n. 4
0
 public void Remove(DeckItemViewModel item)
 {
     this.items.Remove(item);
     OnPropertyChanged(nameof(cardCount));
 }
Esempio n. 5
0
 public void Insert(int Index, DeckItemViewModel item)
 {
     items.Insert(Index, item);
     OnPropertyChanged(nameof(cardCount));
 }
Esempio n. 6
0
 private void _Add(DeckItemViewModel item)
 {
     items.Add(item);
     OnPropertyChanged(nameof(cardCount));
 }