protected Deck(CardGame sourceGame, string name = DefaultName, DeckFileType fileType = DeckFileType.Txt, IReadOnlyCollection <Card> cards = null) { SourceGame = sourceGame ?? CardGame.Invalid; Name = !string.IsNullOrEmpty(name) ? name.Clone() as string : DefaultName; FileType = fileType; Cards = cards; }
public Deck(CardGame sourceGame, string name = DefaultName, DeckFileType fileType = DeckFileType.Txt, List <Card> cards = null) { SourceGame = sourceGame ?? CardGame.Invalid; Name = !string.IsNullOrEmpty(name) ? name.Clone() as string : DefaultName; FileType = fileType; if (cards != null) { Cards = new List <Card>(cards); } else { Cards = new List <Card>(); } }
public static UnityDeck Parse(UnityCardGame cardGame, string deckName, DeckFileType deckFileType, string deckText) { var deck = new UnityDeck(cardGame, deckName, deckFileType); if (string.IsNullOrEmpty(deckText)) { return(deck); } foreach (string line in deckText.Split('\n').Select(x => x.Trim())) { switch (deckFileType) { case DeckFileType.Dec: deck.LoadDec(line); break; case DeckFileType.Hsd: deck.LoadHsd(line); break; case DeckFileType.Ydk: if (line.Equals("!side")) { return(deck); } deck.LoadYdk(line); break; case DeckFileType.Lor: deck.LoadLor(line); break; case DeckFileType.Txt: default: if (line.Equals("Sideboard") || line.Equals("sideboard") || line.Equals("Sideboard:")) { return(deck); } deck.LoadTxt(line); break; } } return(deck); }
public DeckFileType GetFileTypeFromPath(string filePath) { DeckFileType fileType = DeckFileType.Txt; string extension = filePath.Substring(filePath.LastIndexOf('.') + 1); if (extension.ToLower().Equals(DeckFileType.Dec.ToString().ToLower())) { fileType = DeckFileType.Dec; } else if (extension.ToLower().Equals(DeckFileType.Hsd.ToString().ToLower())) { fileType = DeckFileType.Hsd; } else if (extension.ToLower().Equals(DeckFileType.Ydk.ToString().ToLower())) { fileType = DeckFileType.Ydk; } return(fileType); }
public UnityDeck(UnityCardGame sourceGame, string name = DefaultName, DeckFileType fileType = DeckFileType.Txt, IReadOnlyCollection <UnityCard> cards = null) : base(sourceGame, name, fileType, cards) { SourceGame = sourceGame ?? UnityCardGame.UnityInvalid; _cards = cards != null ? new List <UnityCard>(cards) : new List <UnityCard>(); }