예제 #1
0
        public ExistingDeck(Deck deck, HearthMirror.Objects.Deck newDeck)
        {
            Deck = deck;
            var tmp = new Deck {
                Cards = new ObservableCollection <Card>(newDeck.Cards.Select(x => new Card {
                    Id = x.Id, Count = x.Count
                }))
            };

            MatchingCards = 0;
            if (deck.HasVersions)
            {
                var counts = deck.VersionsIncludingSelf.Select(v => GetMatchingCards(tmp, deck.GetVersion(v)));
                if (counts.Any(c => c == 30))
                {
                    MatchingCards = 30;
                }
            }
            if (MatchingCards != 30)
            {
                MatchingCards = GetMatchingCards(tmp, deck);
            }
            NewVersion = MatchingCards == 30 ? new SerializableVersion(0, 0)
                                : (MatchingCards < 26 ? SerializableVersion.IncreaseMajor(deck.Version)
                                        : SerializableVersion.IncreaseMinor(deck.Version));
            ShouldBeNewDeck = MatchingCards < 15;
        }
예제 #2
0
        public ExistingDeck(Deck deck, HearthMirror.Objects.Deck newDeck)
        {
            Deck = deck;
            var tmp = new Deck {
                Cards = new ObservableCollection <Card>(newDeck.Cards.Select(x => new Card {
                    Id = x.Id, Count = x.Count
                }))
            };

            MatchingCards = 30 - (deck - tmp).Count(x => x.Count > 0);
            NewVersion    = MatchingCards == 30 ? new SerializableVersion(0, 0)
                                : (MatchingCards < 26 ? SerializableVersion.IncreaseMajor(deck.Version)
                                        : SerializableVersion.IncreaseMinor(deck.Version));
        }
예제 #3
0
 private void MenuItemSaveVersionMinor_OnClick(object sender, RoutedEventArgs e) => SaveDeckWithOverwriteCheck(SerializableVersion.IncreaseMinor(_newDeck.Version));
 public static SaveOperation MinorIncrement(Deck deck) => new SaveOperation
 {
     Version = SerializableVersion.IncreaseMinor(deck.Version)
 };