コード例 #1
0
        public void Initialize()
        {
            var settingsDB   = PlayerSettingsDB.Get();
            var modelProxyDB = ModelProxyDB.Get();

            favDecks.SuspendNotifies();

            foreach (var favDeckOb in settingsDB.favDecks)
            {
                var deck = new CardCollectionViewModel()
                {
                    Name = favDeckOb.Name
                };
                foreach (var cardOb in favDeckOb.knownCards)
                {
                    var cardVM = new CardViewModel()
                    {
                        CardModel = modelProxyDB.GetCardProxy(cardOb)
                    };
                    deck.Cards.Add(cardVM);
                }

                var favDeck = new SolvableDeckViewModel()
                {
                    Deck = deck
                };
                favDecks.Add(favDeck);

                favDeck.RefreshSolver(gameModel, favDeckOb);
            }

            favDecks.ResumeNotifies();
        }
コード例 #2
0
        private void AssignFavDeckFrom(SolvableDeckViewModel favDeck, DeckViewModel sourceDeck)
        {
            if (sourceDeck.Cards.Count == favDeck.Deck.Cards.Count)
            {
                favDeck.Deck.Cards.SuspendNotifies();
                var cards = new List <TriadCard>();

                for (int idx = 0; idx < sourceDeck.Cards.Count; idx++)
                {
                    var cardProxy = sourceDeck.Cards[idx].CardModel;
                    favDeck.Deck.Cards[idx].CardModel = cardProxy;
                    cards.Add(cardProxy.cardOb);
                }

                favDeck.Deck.Cards.ResumeNotifies();

                int slotIdx   = favDecks.IndexOf(favDeck);
                var namedDeck = new TriadDeckNamed(new TriadDeck(cards))
                {
                    Name = favDeck.Deck.Name
                };
                PlayerSettingsDB.Get().UpdateFavDeck(slotIdx, namedDeck);

                favDeck.RefreshSolver(gameModel, namedDeck);
            }
        }