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());
            }
        }
Exemple #2
0
        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);
        }