Beispiel #1
0
        void ImportLegacyMapClicked(object sender, EventArgs e)
        {
            using (var ofd = new OpenFileDialog {
                RestoreDirectory = true,
                Filter = "Legacy maps (*.ini;*.mpr)|*.ini;*.mpr"
            })
                if (DialogResult.OK == ofd.ShowDialog())
                {
                    /* massive hack: we should be able to call NewMap() with the imported Map object,
                     * but something's not right internally in it, unless loaded via the real maploader */

                    var savePath = Path.Combine(Path.GetTempPath(), "OpenRA.Import");
                    Directory.CreateDirectory(savePath);

                    var errors = new List <string>();

                    var map = LegacyMapImporter.Import(ofd.FileName, a => errors.Add(a));

                    if (errors.Count > 0)
                    {
                        using (var eld = new ErrorListDialog(errors))
                            eld.ShowDialog();
                    }

                    map.MakeDefaultPlayers();

                    map.Save(savePath);
                    LoadMap(savePath);
                    loadedMapName = null;                       /* editor needs to think this hasnt been saved */

                    Directory.Delete(savePath, true);
                    MakeDirty();
                }
        }
Beispiel #2
0
 public static Map Import(string filename, Action<string> errorHandler)
 {
     var converter = new LegacyMapImporter(filename, errorHandler);
     return converter.Map;
 }
Beispiel #3
0
        public static Map Import(string filename, Action <string> errorHandler)
        {
            var converter = new LegacyMapImporter(filename, errorHandler);

            return(converter.Map);
        }
Beispiel #4
0
 public static Map Import(string filename)
 {
     var converter = new LegacyMapImporter(filename);
     return converter.Map;
 }