private void contextMenuStripPickCard_Opened(object sender, EventArgs e) { toolStripComboBoxPick.BeginUpdate(); PlayerSettingsDB playerDB = PlayerSettingsDB.Get(); TriadCardDB cardsDB = TriadCardDB.Get(); int numExpected = toolStripMenuOnlyOwned.Checked ? playerDB.ownedCards.Count : cardsDB.cards.Count; if (numExpected != toolStripComboBoxPick.Items.Count) { toolStripComboBoxPick.Items.Clear(); foreach (TriadCard card in cardsDB.cards) { if (card != null && (!toolStripMenuOnlyOwned.Checked || playerDB.ownedCards.Contains(card))) { toolStripComboBoxPick.Items.Add(new DeckCardPicker(card)); } } } for (int Idx = 0; Idx < toolStripComboBoxPick.Items.Count; Idx++) { DeckCardPicker cardOb = (DeckCardPicker)toolStripComboBoxPick.Items[Idx]; if (cardOb.Card == cardClickOwner.GetCard()) { toolStripComboBoxPick.SelectedIndex = Idx; break; } } toolStripComboBoxPick.EndUpdate(); toolStripComboBoxPick.Focus(); }
private void toolStripComboBoxPick_SelectedIndexChanged(object sender, EventArgs e) { DeckCardPicker selectedCardOb = (DeckCardPicker)toolStripComboBoxPick.SelectedItem; if (cardClickOwner.GetCard() != selectedCardOb.Card) { setDeckCard((int)cardClickOwner.Tag, selectedCardOb.Card, false); } }