示例#1
0
 public EvolutionInstance(int i, int t, int p, EvoMethod m)
 {
     ID     = i;
     TreeID = t;
     Place  = p;
     Method = m;
 }
示例#2
0
 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;
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }