public void SelectCard(CardInfoDisplay selectedCard) { foreach (var card in _cards) { card.IsSelected = false; } SelectedCard = selectedCard; SelectedCard.IsSelected = true; }
public void ToggleCollectedCard(CardInfoDisplay selectedCard) { var collectedCards = LoadCollectedCards(); if (!selectedCard.IsCollected && !collectedCards.Contains(selectedCard.Info.Order.ToString())) { collectedCards.Add(selectedCard.Info.Order.ToString()); } else if (selectedCard.IsCollected && collectedCards.Contains(selectedCard.Info.Order.ToString())) { collectedCards.Remove(selectedCard.Info.Order.ToString()); } SaveCollectedCards(collectedCards); selectedCard.IsCollected = !selectedCard.IsCollected; }
public MainWindowVM() { Cards = new ObservableCollection <CardInfoDisplay>(); CardNames = new ObservableCollection <string>(); Patches = new ObservableCollection <string>(); NPCNames = new ObservableCollection <string>(); CollectedOptions = new List <string>(new string[] { "No Preference", "Collected", "Uncollected" }); var npcs = DownloadNpcs(); // using to cross-reference some data into card data (like WinAmount/Difficulty) var collectedCards = LoadCollectedCards(); var cardInfos = DownloadCards(); foreach (var cardInfo in cardInfos) { var difficulty = int.MaxValue; foreach (var npcName in cardInfo.NPCs) { var npc = npcs.FirstOrDefault(n => n.NpcName == npcName); if (npc != null && npc.WinAmount < difficulty) { difficulty = npc.WinAmount; } } var card = new CardInfoDisplay(cardInfo, difficulty == int.MaxValue ? 0 : difficulty); card.IsDisplayed = true; card.IsCollected = collectedCards.Contains(card.Info.Order.ToString()); Cards.Add(card); } DoSearch(); if (Cards.Count > 0) { SelectCard(Cards[0]); } }