ClassData.LoadData C# (CSharp) Method

LoadData() public method

public LoadData ( ) : void
return void
    public void LoadData()
    {
        ArrayList data = XMLHandler.LoadXML(dir+filename);

        if(data.Count > 0)
        {
            foreach(Hashtable entry in data)
            {
                if(entry[XMLHandler.NODE_NAME] as string == ClassData.CLASSES)
                {
                    if(entry.ContainsKey(XMLHandler.NODES))
                    {
                        ArrayList subs = entry[XMLHandler.NODES] as ArrayList;
                        icon = new string[subs.Count];
                        classes = new Class[subs.Count];

                        foreach(Hashtable val in subs)
                        {
                            if(val[XMLHandler.NODE_NAME] as string == ClassData.CLASS)
                            {
                                int i = int.Parse((string)val["id"]);
                                icon[i] = "";

                                classes[i] = new Class();
                                classes[i].equipPart = new bool[int.Parse((string)val["equipparts"])];
                                classes[i].weapon = new bool[int.Parse((string)val["weapons"])];
                                classes[i].armor = new bool[int.Parse((string)val["armors"])];

                                int count = int.Parse((string)val["elements"]);
                                classes[i].elementValue = new int[count];
                                for(int j=0; j<count; j++)
                                {
                                    classes[i].elementValue[j] = 100;
                                }
                                if(val.ContainsKey("races"))
                                {
                                    count = int.Parse((string)val["races"]);
                                }
                                else count = DataHolder.Races().GetDataCount();
                                classes[i].raceValue = new int[count];
                                for(int j=0; j<count; j++)
                                {
                                    classes[i].raceValue[j] = 100;
                                }
                                if(val.ContainsKey("sizes"))
                                {
                                    count = int.Parse((string)val["sizes"]);
                                }
                                else count = DataHolder.Sizes().GetDataCount();
                                classes[i].sizeValue = new int[count];
                                for(int j=0; j<count; j++)
                                {
                                    classes[i].sizeValue[j] = 100;
                                }

                                if(val.ContainsKey("skills"))
                                {
                                    classes[i].development.skill = new SkillLearn[int.Parse((string)val["skills"])];
                                    for(int j=0; j<classes[i].development.skill.Length; j++)
                                    {
                                        classes[i].development.skill[j] = new SkillLearn();
                                    }
                                }

                                if(val.ContainsKey("useclasslevel")) classes[i].useClassLevel = true;

                                ArrayList s = val[XMLHandler.NODES] as ArrayList;
                                foreach(Hashtable ht in s)
                                {
                                    this.LoadLanguages(ht, i, subs.Count);
                                    if(ht[XMLHandler.NODE_NAME] as string == ClassData.EQUIPPART)
                                    {
                                        classes[i].equipPart[int.Parse((string)ht["id"])] = true;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.WEAPON)
                                    {
                                        classes[i].weapon[int.Parse((string)ht["id"])] = true;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.ARMOR)
                                    {
                                        classes[i].armor[int.Parse((string)ht["id"])] = true;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.ELEMENT)
                                    {
                                        int id = int.Parse((string)ht["id"]);
                                        if(id < classes[i].elementValue.Length)
                                        {
                                            classes[i].elementValue[id] = int.Parse((string)ht["value"]);
                                        }
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.SKILL)
                                    {
                                        int id = int.Parse((string)ht["id"]);
                                        if(id < classes[i].development.skill.Length)
                                        {
                                            classes[i].development.skill[id].SetData(ht, false);
                                        }
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.RACE)
                                    {
                                        int id = int.Parse((string)ht["id"]);
                                        if(id < classes[i].raceValue.Length)
                                        {
                                            classes[i].raceValue[id] = int.Parse((string)ht["value"]);
                                        }
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.SIZE)
                                    {
                                        int id = int.Parse((string)ht["id"]);
                                        if(id < classes[i].sizeValue.Length)
                                        {
                                            classes[i].sizeValue[id] = int.Parse((string)ht["value"]);
                                        }
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.DEVELOPMENT)
                                    {
                                        classes[i].development.SetData(ht);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == ClassData.BONUS)
                                    {
                                        classes[i].bonus.SetData(ht);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

Usage Example

コード例 #1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                Limpiar();
                HabDeshCamp(false);
                toolGuardar.Enabled  = false;
                toolCancelar.Enabled = false;

                ClassData data = new ClassData();

                if (data.IsConnect())
                {
                    MessageBox.Show("Conexión Exitosa", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Conexión Fallida", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                dgvUsers.DataSource = data.LoadData();
            }
            catch (Exception ex)
            {
            }
        }
All Usage Examples Of ClassData::LoadData