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)); } }
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; } } }
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); }
public void Remove(DeckItemViewModel item) { this.items.Remove(item); OnPropertyChanged(nameof(cardCount)); }
public void Insert(int Index, DeckItemViewModel item) { items.Insert(Index, item); OnPropertyChanged(nameof(cardCount)); }
private void _Add(DeckItemViewModel item) { items.Add(item); OnPropertyChanged(nameof(cardCount)); }