Exemple #1
0
        public static DeckStatsVm GetDeckStats(string deckName)
        {
            var deck = DeckRepository.GetDeck(deckName);

            var deckStats = new DeckStatsVm
            {
                DeckName          = deck.DeckName,
                CreatureCount     = deck.Cards.Count(c => c.Types.Contains("creature")) + 1,
                LandCount         = deck.Cards.Count(c => c.Types.Contains("land")),
                ArtifactCount     = deck.Cards.Count(c => c.Types.Contains("artifact")),
                SorceryCount      = deck.Cards.Count(c => c.Types.Contains("sorcery")),
                InstantCount      = deck.Cards.Count(c => c.Types.Contains("instant")),
                PlaneswalkerCount = deck.Cards.Count(c => c.Types.Contains("planeswalker")),
                EnchantmentCount  = deck.Cards.Count(c => c.Types.Contains("enchantment"))
            };

            return(deckStats);
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _deckVm          = new DeckVm();
            _playerVm        = new PlayerVm();
            _deckStatsVm     = new DeckStatsVm();
            _cardPreviewVm   = new CardPreviewVm();
            _cardPictureVm   = new CardPictureVm();
            _cardQueryVm     = new CardQueryVm(_cardPreviewVm);
            _cardDetailVm    = new CardDetailVm(_cardPictureVm);
            _deckOrderVm     = new DeckOrderVm(_deckVm);
            _deckOperationVm = new DeckOperationVm(_deckVm, _playerVm, _deckStatsVm);


            DeckView.DataContext          = _deckVm;
            PlayerView.DataContext        = _playerVm;
            DeckStatsView.DataContext     = _deckStatsVm;
            CardPreviewView.DataContext   = _cardPreviewVm;
            CardPictureView.DataContext   = _cardPictureVm;
            CardQueryView.DataContext     = _cardQueryVm;
            CardDetailView.DataContext    = _cardDetailVm;
            DeckOrderView.DataContext     = _deckOrderVm;
            DeckOperationView.DataContext = _deckOperationVm;
        }