public void exportXML(string path, CKampf fightdata) { foreach (KeyValuePair<string, CDungeon> ct in itsDungeons) { string name = "dng"+ct.Key.Substring(0, ct.Key.Length - 4).ToLower(); ct.Value.exportXML(path + "\\" + name + ".xml", name, fightdata); } }
Dictionary<int, CFight_LST> filterFightsData(List<CDungeonFight> dfights, CKampf fightdata) { Dictionary<int,CFight_LST> ret = new Dictionary<int,CFight_LST>(dfights.Count); foreach( CDungeonFight df in dfights ) { if( !ret.ContainsKey(df.KampfID) ) ret.Add(df.KampfID,fightdata.itsFight_LST[df.KampfID]); } return ret; }
public void exportXML(string filename, string name, CKampf fightdata) { XmlTextWriter wr = new XmlTextWriter(filename, Encoding.UTF8); wr.WriteStartDocument(); wr.WriteStartElement("dungeon"); wr.WriteAttributeString("intname", name.ToLower()); CDebugger.addDebugLine("Exporting " + name); int cnt = 0; foreach (CFloor fl in floors) { List<CDungeonFight> dfights = filterFights( cnt ); fl.exportXML(wr, cnt, dfights, filterDoors( cnt ), filterStairs( cnt ), filterFightsData( dfights, fightdata ) ); cnt++; } wr.WriteStartElement("script"); wr.WriteCData("function OnTrigger( which, floor ) {\n\tswitch( which ) {\n\t\tcase 'testtrigger': break;\n\t}\n}"); wr.WriteEndElement(); wr.WriteStartElement("itemsets"); wr.WriteStartElement("itemset"); wr.WriteAttributeString("id", "chest_one"); wr.WriteComment("Same format as loot of the fights, <item id='xy' count='17'>, for chestloot and 'stuff lying around'"); wr.WriteEndElement(); wr.WriteEndElement(); wr.WriteEndElement(); wr.Close(); }