public static List <Card> GetCardsFromDeck(string deckName) { Deck deck = decks.Find(x => x.Name == deckName); try { switch (deck.Type) { case "Commander": CommanderDeck commanderDeck = deck as CommanderDeck; return(commanderDeck.Cards); case "Standard": StandardDeck standardDeck = deck as StandardDeck; return(standardDeck.Cards); case "Extras": ExtraCards extraCards = deck as ExtraCards; return(extraCards.Cards); } } catch (Exception e) { //implement error handling Console.WriteLine("something went wrong and the deck could not be opened." + e.Message); } return(null); }
public static Deck CreateDeck(string name, string type) { switch (type) { case "Commander": CommanderDeck commander = new CommanderDeck(name, type); return(commander); case "Standard": StandardDeck standard = new StandardDeck(name, type); return(standard); case "Extras": ExtraCards extras = new ExtraCards(name, type); return(extras); default: //Implement error handling return(null); } }
public static void AddCardToDeck(Deck deck, Card card) { switch (deck.Type) { case "Commander": CommanderDeck commanderDeck = deck as CommanderDeck; commanderDeck.AddCard(card); return; case "Standard": StandardDeck standardDeck = deck as StandardDeck; standardDeck.AddCard(card); return; case "Extras": ExtraCards extraCards = deck as ExtraCards; extraCards.AddCard(card); return; default: //Handle Error return; } }