Пример #1
0
        public static List <MaterialsData> GetXmlData(string path, MaterialsNode mNode)
        {
            List <MaterialsData> list = new List <MaterialsData>();

            try
            {
                XmlDocument       doc      = new XmlDocument();
                XmlReaderSettings settings = new XmlReaderSettings();
                settings.IgnoreComments = true;
                XmlReader reader = XmlReader.Create(path, settings);
                doc.Load(reader);

                XmlNodeList xnl = doc.SelectSingleNode(mNode.RNode).ChildNodes;
                foreach (XmlNode node in xnl)
                {
                    MaterialsData data = new MaterialsData();
                    XmlElement    xe   = (XmlElement)node;
                    XmlNodeList   xnf1 = xe.ChildNodes;
                    foreach (XmlNode xn2 in xnf1)
                    {
                        XmlElement x = (XmlElement)xn2;
                        if (x.Name == "Value")
                        {
                            data.Area = x.InnerText;
                        }
                        if (x.Name == "Path")
                        {
                            data.Path = x.InnerText;
                        }
                        if (x.Name == "Type")
                        {
                            data.Type = x.InnerText;
                        }
                        if (x.Name == "Depth")
                        {
                            data.Depth = x.InnerText;
                        }
                        //Console.WriteLine(xn2.InnerText);//显示子节点点文本
                    }
                    list.Add(data);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(list);
        }
Пример #2
0
        private void SetSourceData(MaterialsData data)
        {
            //int i = gcSource.\
            int index = this.gvSource.FocusedRowHandle;

            if (index <= -1)
            {
                MessageBox.Show(@"请选择需要添加型材的源!");
                return;
            }
            this.gvSource.SetRowCellValue(index, gvSource.Columns["Profile"], System.Drawing.Image.FromFile(data.Path));
            this.gvSource.SetRowCellValue(index, gvSource.Columns["Area"], data.Area.Split('-')[0]);
            this.gvSource.SetRowCellValue(index, gvSource.Columns["Depth"], data.Depth);
            this.gvSource.SetRowCellValue(index, gvSource.Columns["Path"], data.Path);
        }
Пример #3
0
 private void gvMain_DoubleClick(object sender, EventArgs e)
 {
     if (gvMain.FocusedRowHandle < 0)
     {
         return;
     }
     try
     {
         if (hInfo.InRowCell)
         {
             MaterialsData data = this.gvMain.GetRow(gvMain.FocusedRowHandle) as MaterialsData;
             if (data != null)
             {
                 SetSourceData(data);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Пример #4
0
    private void LoadDataSync()
    {
        LoadFileText lft = new LoadFileText();

        // Load attacks data
        lft.fileName = defAttacksFileName;
        LoadFileSync(lft);

        AttacksData attacksData = JsonUtility.FromJson <AttacksData>(lft.fileText);

        foreach (Attack atk in attacksData.attacks)
        {
            Data.AllAttacks.Add(atk.id, atk);
        }

        // Load defends data
        lft.fileName = defDefendsFileName;
        LoadFileSync(lft);

        DefendsData defendsData = JsonUtility.FromJson <DefendsData>(lft.fileText);

        foreach (ActionType type in System.Enum.GetValues(typeof(ActionType)))
        {
            Data.AllDefendsByType.Add(type, new List <int>());
        }
        foreach (Defend def in defendsData.defends)
        {
            Data.AllDefends.Add(def.id, def);
            Data.AllDefendsByType[def.type].Add(def.id);
        }

        // Load results data
        lft.fileName = defResultsFileName;
        LoadFileSync(lft);

        ResultsData resultsData = JsonUtility.FromJson <ResultsData>(lft.fileText);

        foreach (Result res in resultsData.results)
        {
            Data.AllResults.Add(res.id, res);
        }

        // Load equipments data
        lft.fileName = defEquipmentsFileName;
        LoadFileSync(lft);

        EquipmentsData equipmentsData = JsonUtility.FromJson <EquipmentsData>(lft.fileText);

        foreach (Weapon weapon in equipmentsData.weapons)
        {
            Sprite sprite = Resources.Load <Sprite>("Sprites/Weapons/" + weapon.id);
            weapon.sprite = sprite;

            Data.AllWeapons.Add(weapon.id, weapon);
            Data.AllInventories.Add(weapon.id, weapon as Inventory);
        }
        foreach (Armor armor in equipmentsData.armors)
        {
            Sprite sprite = Resources.Load <Sprite>("Sprites/Clothes/" + armor.id);
            armor.sprite = sprite;

            Data.AllArmors.Add(armor.id, armor);
            Data.AllInventories.Add(armor.id, armor as Inventory);
        }
        foreach (Accessory accessory in equipmentsData.accessories)
        {
            Sprite sprite = Resources.Load <Sprite>("Sprites/Hats/" + accessory.id);
            accessory.sprite = sprite;

            Data.AllAccessories.Add(accessory.id, accessory);
            Data.AllInventories.Add(accessory.id, accessory as Inventory);
        }

        // Load materials data
        lft.fileName = defFoodsFileName;
        LoadFileSync(lft);

        FoodsData foodsData = JsonUtility.FromJson <FoodsData>(lft.fileText);

        foreach (Food food in foodsData.foods)
        {
            Data.AllFoods.Add(food.id, food);
            Data.AllInventories.Add(food.id, food as Inventory);
        }

        // Load foods data
        lft.fileName = defMaterialsFileName;
        LoadFileSync(lft);

        MaterialsData materialsData = JsonUtility.FromJson <MaterialsData>(lft.fileText);

        foreach (Material material in materialsData.materials)
        {
            Data.AllMaterials.Add(material.id, material);
            Data.AllInventories.Add(material.id, material as Inventory);
        }

        // Test: Check loading is right
        Debug.Log("Total Attacks Loaded : " + Data.AllAttacks.Count);
        Debug.Log("Total Defends Loaded : " + Data.AllDefends.Count);
        Debug.Log("Total Results Loaded : " + Data.AllResults.Count);
        Debug.Log("Total Inventories Loaded : " + Data.AllInventories.Count);
        Debug.Log("Total Weapons Loaded : " + Data.AllWeapons.Count);
        Debug.Log("Total Armors Loaded : " + Data.AllArmors.Count);
        Debug.Log("Total Accessories Loaded : " + Data.AllAccessories.Count);
        Debug.Log("Total Materials Loaded : " + Data.AllMaterials.Count);
        Debug.Log("Total Foods loaded : " + Data.AllFoods.Count);
    }