private void createSampleHand(int handSize, CardRepository cardRepository) { SampleHand.Clear(); Shuffle(); for (int i = 0; i < handSize; i++) { draw(cardRepository); } SampleHand.SetOrder(SampleHand.CardsIds .OrderBy(id => cardRepository.CardsById[id].Cmc) .ThenBy(id => cardRepository.CardsById[id].TypeEn) .ThenBy(id => cardRepository.CardsById[id].Color) .ToList()); lock (DataSource) { DataSource.Clear(); DataSource.AddRange(SampleHand.CardsIds.Select(id => cardRepository.CardsById[id])); } DeckChanged?.Invoke( listChanged: true, countChanged: true, card: null, touchedChanged: false, changedZone: CurrentZone, changeTerminatesBatch: true); }
public void Clear() { switch (CurrentZone) { case Zone.SampleHand: SampleHand.Clear(); break; case Zone.Side: SideDeck.Clear(); break; case Zone.Main: MainDeck.Clear(); SideDeck.Clear(); break; default: return; } lock (DataSource) DataSource.Clear(); DeckChanged?.Invoke( listChanged: true, countChanged: true, card: null, touchedChanged: false, changedZone: CurrentZone, changeTerminatesBatch: true); }