private static GameObject CreateCard(int generation, Pack pack, Transform normalCardsHolder, string rarity) { string cardResourceName = ("gen" + generation + "-" + rarity).Replace(" ", "").ToLower(); PossibleCardList pcl = cardSets[cardResourceName]; int index = UnityEngine.Random.Range(0, pcl.possibleCard.Length); PossibleCard chosenCard = pcl.possibleCard[index]; pack.cardInThisPack.Add(chosenCard); GameObject cardInstance = GameObject.Instantiate(cardPrefab); Card card = cardInstance.GetComponent <Card>(); card.CreatedFrom = chosenCard; // this will start downloading the image maybe set unknown rounded/square to front before starting the download //cardInstance.SetActive(false); cardInstance.transform.SetParent(normalCardsHolder); cardInstance.transform.localScale = new Vector3(1f, 1f, 1f); Match matcher = Regex.Match(chosenCard.setCode, SQUARE_SETS, RegexOptions.IgnoreCase); if (matcher.Success) { card.back = squareBack; } else { card.back = roundedBack; } return(cardInstance); }
public static void AddCardsFromFile(string cardResourceName, int generation) { TextAsset jsonTextFile = Resources.Load <TextAsset>("Factories/Config/" + cardResourceName); PossibleCardList pcl = JsonUtility.FromJson <PossibleCardList>(jsonTextFile.text); foreach (PossibleCard pc in pcl.possibleCard) { if (!availableNPNs[generation].ContainsKey(pc.nationalPokedexNumber)) { availableNPNs[generation].Add(pc.nationalPokedexNumber, 0); } availableNPNs[generation][pc.nationalPokedexNumber] += 1; } cardSets.Add(cardResourceName, pcl); }