public static void SaveDirectory() { CardDirectoryData data = new CardDirectoryData(); DirectoryInfo dir = new DirectoryInfo("Assets/Resources/Prefabs/Cards"); FileInfo[] info = dir.GetFiles("*.*"); foreach (FileInfo f in info) { //No meta files if (f.Name.Contains(".meta")) { continue; } string name = f.Name.Split('.')[0]; //Debug.Log(name); //Break up the card into cardname and archetype and rarity string[] result = name.Split('_'); //Add the card by name data.CardsByName.Add(new CardEntry(result[0].ToLower(), name)); //if this is a basic or debug card it doesnt have archetype or rarity... moving on! if (result.Length == 1) { continue; } //Separate by archetype and rarity char archetype = result[1][0]; char rarity = result[1][1]; switch (archetype) { case 'A': data.BigEcon.Add(new CardEntry(name, rarity.ToString())); break; case 'R': data.Ranged.Add(new CardEntry(name, rarity.ToString())); break; case 'M': data.Melee.Add(new CardEntry(name, rarity.ToString())); break; default: break; } } Utils.SaveStreaming(data, "CardDirectory"); }
public static void LoadDirectory() { CardDirectoryData data = Utils.LoadStreaming <CardDirectoryData>("CardDirectory"); foreach (var b in data.CardsByName) { CardsByName.Add(b.Name, b.Value); } foreach (var a in data.BigEcon) { char rarity = a.Value[0]; switch (rarity) { case 'C': BigEcon.Add(a.Name, CardRarities.Common); break; case 'U': BigEcon.Add(a.Name, CardRarities.Uncommon); break; case 'R': BigEcon.Add(a.Name, CardRarities.Rare); break; case 'M': BigEcon.Add(a.Name, CardRarities.UltraRare); break; default: break; } } foreach (var m in data.Melee) { char rarity = m.Value[0]; switch (rarity) { case 'C': Melee.Add(m.Name, CardRarities.Common); break; case 'U': Melee.Add(m.Name, CardRarities.Uncommon); break; case 'R': Melee.Add(m.Name, CardRarities.Rare); break; case 'M': Melee.Add(m.Name, CardRarities.UltraRare); break; default: break; } } foreach (var r in data.Ranged) { char rarity = r.Value[0]; switch (rarity) { case 'C': Ranged.Add(r.Name, CardRarities.Common); break; case 'U': Ranged.Add(r.Name, CardRarities.Uncommon); break; case 'R': Ranged.Add(r.Name, CardRarities.Rare); break; case 'M': Ranged.Add(r.Name, CardRarities.UltraRare); break; default: break; } } //Debug.Log("Card Directory Loaded"); }