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); }
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); }
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); } }
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); }