void ShowImportDialog(String filename) { try { ExportData data = XmlLoader <ExportData> .Load(filename); ImportExportDialog ied = new ImportExportDialog(this, data, true); ied.Show(); ied.DialogComplete += (sender, e) => { foreach (Monster m in e.Data.Monsters) { m.DBLoaderID = 0; MonsterDB.DB.AddMonster(m); Monster.Monsters.Add(m); } foreach (Spell s in e.Data.Spells) { s.DBLoaderID = 0; Spell.AddCustomSpell(s); } foreach (Feat s in e.Data.Feats) { s.DBLoaderID = 0; Feat.AddCustomFeat(s); } foreach (Condition s in e.Data.Conditions) { Condition.CustomConditions.Add(s); } if (e.Data.Conditions.Count > 0) { Condition.SaveCustomConditions(); } RefreshForImport(e.Data); }; } catch (Exception ex) { DebugLogger.WriteLine(ex.ToString()); } }
void Import() { OpenDialog ofd = new OpenDialog(true, new List <string>() { "*.cmx" }); ofd.FilesOpened += (sn, ee) => { try { ExportData data = new ExportData(); foreach (var x in ee.Files) { try { ExportData newData = XmlLoader <ExportData> .Load(x); data.Append(newData); } catch (Exception ex) { DebugLogger.WriteLine(ex.ToString()); } } ieDialog = new ImportExportDialog(data, true); ieDialog.ImportExportComplete += (sss, e) => { ExportData newData = e.Data; foreach (Monster m in e.Data.Monsters) { m.DBLoaderID = 0; MonsterDB.DB.AddMonster(m); Monster.Monsters.Add(m); } foreach (Spell s in e.Data.Spells) { s.DBLoaderID = 0; Spell.AddCustomSpell(s); } foreach (Feat s in e.Data.Feats) { s.DBLoaderID = 0; Feat.AddCustomFeat(s); } foreach (Condition s in e.Data.Conditions) { Condition.CustomConditions.Add(s); } if (e.Data.Conditions.Count > 0) { Condition.SaveCustomConditions(); } MainUI.MainView.ReloadTabs(); }; MainUI.MainView.AddSubview(ieDialog.View); } catch (Exception ex) { DebugLogger.WriteLine(ex.ToString()); } }; MainUI.MainView.AddSubview(ofd.View); }