示例#1
0
 public void Reset()
 {
     Label.Visibility = Visibility.Hidden;
     View.Visibility  = Visibility.Visible;
     _history         = new List <Card>();
     View.Update(_history, true);
 }
示例#2
0
        public bool Update(Card card, bool isSpell = false)
        {
            if (card.Type != "Minion" && !isSpell)
            {
                return(false);
            }

            // Increment
            var match = Cards.FirstOrDefault(c => c.Name == card.Name);

            if (match != null)
            {
                Cards.Remove(match);
                card = match.Clone() as Card;
                card.Count++;
            }

            // Update View
            Cards.Add(card);
            View.Update(Cards, false);

            Label.Visibility = Visibility.Visible;

            return(true);
        }
        private async void UpdateAnimatedCardListAsync()
        {
            foreach (var cardId in _demoCards)
            {
                var card = _cards.FirstOrDefault(x => x.Id == cardId);
                if (card == null)
                {
                    _cards.Add(Hearthstone.Database.GetCardFromId(cardId));
                }
                else
                {
                    card.Count++;
                }
            }
            AnimatedCardList.Update(_cards.ToSortedCardList().Select(x => (Hearthstone.Card)x.Clone()).ToList(), true);
            while (_update)
            {
                foreach (var cardId in _demoCards)
                {
                    if (!_update)
                    {
                        break;
                    }
                    await Task.Delay(2000);

                    var card = _cards.FirstOrDefault(x => x.Id == cardId);
                    if (card != null)
                    {
                        if (card.Count == 1)
                        {
                            _cards.Remove(card);
                        }
                        else
                        {
                            card.Count--;
                        }
                    }
                    AnimatedCardList.Update(_cards.ToSortedCardList().Select(x => (Hearthstone.Card)x.Clone()).ToList(), false);
                }
                foreach (var cardId in _demoCards)
                {
                    if (!_update)
                    {
                        break;
                    }
                    await Task.Delay(2000);

                    var card = _cards.FirstOrDefault(x => x.Id == cardId);
                    if (card == null)
                    {
                        _cards.Add(Hearthstone.Database.GetCardFromId(cardId));
                    }
                    else
                    {
                        card.Count++;
                    }
                    AnimatedCardList.Update(_cards.ToSortedCardList().Select(x => (Hearthstone.Card)x.Clone()).ToList(), false);
                }
            }
        }
示例#4
0
        public void Update(Card card, Dictionary <int, double> winrates)
        {
            MulliganWinratesCardList.Visibility = Visibility.Visible;
            Label.Visibility = Visibility.Visible;
            // Increment
            var match = Cards.FirstOrDefault(c => c.Name == card.Name);

            if (match == null)
            {
                Cards.Add(card);
                MulliganWinratesCardList.Update(Cards, false);
                _winrateTracker.Update(card, Cards, MulliganWinratesCardList, winrates);
            }

            // Update View
        }
示例#5
0
        public virtual bool Update(Card card)
        {
            if (card.Type == "Spell")
            {
                HearthDb.Cards.All.TryGetValue(card.Id, out DbCard dbCard);

                if (dbCard?.SpellSchool > 0)
                {
                    if (SchoolList.ContainsKey(dbCard.SpellSchool))
                    {
                        SchoolList[dbCard.SpellSchool] = card.Clone() as Card;
                    }
                    else
                    {
                        SchoolList.Add(dbCard.SpellSchool, card.Clone() as Card);
                    }

                    Cards.Update(SchoolList.Values.ToList(), true);

                    Visibility = Visibility.Visible;

                    return(true);
                }
            }
            return(false);
        }
示例#6
0
        public virtual bool Update(Card card)
        {
            Cards.Update(new List <Card> {
                card.Clone() as Card
            }, false);

            Visibility = Visibility.Visible;

            return(true);
        }