public EvolutionInstance(int i, int t, int p, EvoMethod m) { ID = i; TreeID = t; Place = p; Method = m; }
public EvolutionInstance(int i, int t, int p, EvoMethod m, int l, string c) { ID = i; TreeID = t; Place = p; Method = m; Level = l; Condition = c; }
public static List <EvoMethod> ReadEvoMethod() { List <EvoMethod> returnable = new List <EvoMethod>(); _doc.Load(URL + "evolutionways.xml"); XmlElement root = _doc.DocumentElement; XmlElement current; for (int x = 0; x < root.GetElementsByTagName("EvolutionWay").Count; x++) { current = (XmlElement)root.ChildNodes[x]; int id = Convert.ToInt32(current.GetElementsByTagName("ID")[0].InnerText); string name = current.GetElementsByTagName("Way")[0].InnerText; EvoMethod temp = new EvoMethod(id, name); returnable.Add(temp); } return(returnable); }
public static List <EvolutionTree> ReadEvoTrees() { List <int> test = new List <int>(); List <EvolutionTree> returnable = new List <EvolutionTree>(); _doc.Load(URL + "evotrees.xml"); XmlElement root = _doc.DocumentElement; XmlElement current; for (int x = 0; x < root.GetElementsByTagName("Instance").Count; x++) { current = (XmlElement)root.ChildNodes[x]; int id = Convert.ToInt32(current.GetElementsByTagName("ID")[0].InnerText); int treenumber = Convert.ToInt32(current.GetElementsByTagName("TreeNumber")[0].InnerText); int placeintree = Convert.ToInt32(current.GetElementsByTagName("PlaceInTree")[0].InnerText); EvoMethod evomethod = Database.GetEvoMethod(Convert.ToInt32(current.GetElementsByTagName("EvoWay")[0].InnerText)); string condition = current.GetElementsByTagName("Condition")[0].InnerText; int level = Convert.ToInt32(current.GetElementsByTagName("Level")[0].InnerText); EvolutionTree et = new EvolutionTree(id, treenumber); EvolutionInstance ei = null; if (returnable.Count > 0) { foreach (EvolutionTree temp in returnable) { if (et.TreeID == temp.TreeID) { et = temp; break; } } } switch (evomethod.Method) { case "Level": case "Level At Time": case "Level At Location": case "Level With Friendship": case "Level With Unique Condition": case "Trade": case "Trade for Specific Pokemon": ei = new EvolutionInstance(id, et.TreeID, placeintree, evomethod, level, condition); break; case "Level With Item": case "Trade With Item": case "Use Stone": ei = new EvolutionInstance(id, et.TreeID, placeintree, evomethod, level, condition, Database.GetItem(Convert.ToInt32(current.GetElementsByTagName("Item")[0].InnerText))); break; case "Level With Move": ei = new EvolutionInstance(id, et.TreeID, placeintree, evomethod, level, condition, Database.GetMove(Convert.ToInt32(current.GetElementsByTagName("Move")[0].InnerText))); break; case "Egg": ei = new EvolutionInstance(id, et.TreeID, placeintree, evomethod); break; } if (!Database.CheckIfAdded(et, ei)) { et.Evolutions.Add(ei); } if (!returnable.Contains(et)) { returnable.Add(et); } foreach (Pokémon p in Database.Pokedex) { if (p.EvoInstanceID == id) { p.AddEvolutionInstance(ei); } } } return(returnable); }