public void Init(TCGCards.Core.Deck deck) { this.deck = deck; var formatName = MainMenu.formats.FirstOrDefault(f => f.Id.Equals(deck.FormatId)).Name; deckNameText.text = $"{deck.Name} ({formatName})"; }
public void OnSaveClick() { var filename = deckName.text + MainMenu.Deck.deckExtension; foreach (var character in Path.GetInvalidFileNameChars()) { filename = filename.Replace(character, '\0'); } var directory = Path.Combine(Application.streamingAssetsPath, "Decks"); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } var format = MainMenu.MainMenu.formats.First(x => x.Name == formatDropdown.options[formatDropdown.value].text); var fullPath = Path.Combine(directory, filename); var cards = deckContent.GetComponentsInChildren <DeckCard>(); if (cards.Length == 0) { return; } var deck = new TCGCards.Core.Deck { Cards = new Stack <Card>(cards.Select(deckCard => deckCard.card)), FormatId = format.Id, Name = deckName.text }; var deckValidation = format.ValidateDeck(deck); if (!deckValidation.Result) { ValidationModal.SetActive(true); ValidationText.text = string.Join(Environment.NewLine, deckValidation.Messages); return; } var data = Serializer.Serialize(deck); File.WriteAllText(fullPath, data); }
public void OnExitClick() { CurrentDeck = null; SceneManager.LoadScene("MainMenu"); }