Exemplo n.º 1
0
        public static void New(Main main, string filename, string templateMap)
        {
            main.LoadingMap.Execute(filename);

            main.MapFile.Value = filename;

            if (!filename.EndsWith(MapLoader.MapExtension))
            {
                filename += MapLoader.MapExtension;
            }

            main.ClearEntities(false);

            if (!templateMap.EndsWith(MapLoader.MapExtension))
            {
                templateMap += MapLoader.MapExtension;
            }

            using (Stream fs = File.OpenRead(templateMap))
            {
                using (Stream stream = new GZipInputStream(fs))
                    MapLoader.load(main, stream, false, null);
            }
            WorldFactory.Instance.Get <World>().NewUUID();
        }
Exemplo n.º 2
0
        private static void load(Main main, string filename, bool deleteEditor, Entity playerData)
        {
            if (filename == null)
            {
                MapLoader.load(main, (Stream)null, deleteEditor, playerData);
            }
            else
            {
                // Don't try to load the menu from a save game
                string directory;
                if (main.CurrentSave.Value == null || filename == Main.MenuMap)
                {
                    directory = main.MapDirectory;
                }
                else
                {
                    directory = Path.Combine(main.SaveDirectory, main.CurrentSave);
                }

                string filenameWithExtension = filename;
                if (!filenameWithExtension.EndsWith(MapLoader.MapExtension))
                {
                    filenameWithExtension += MapLoader.MapExtension;
                }

                string fullFilename = Path.IsPathRooted(filenameWithExtension) ? filenameWithExtension : Path.Combine(directory, filenameWithExtension);

                if (main.CurrentSave.Value != null && !File.Exists(fullFilename))
                {
                    File.Copy(Path.Combine(main.MapDirectory, filenameWithExtension), fullFilename);
                }

                main.LoadingMap.Execute(filename);

                main.MapFile.Value = filename;

                using (Stream fs = File.OpenRead(fullFilename))
                {
                    using (Stream stream = new GZipInputStream(fs))
                        MapLoader.load(main, stream, deleteEditor, playerData);
                }
            }
        }
Exemplo n.º 3
0
 public static void Load(Main main, string filename)
 {
     MapLoader.load(main, filename, true, null);
 }
Exemplo n.º 4
0
 public static void Load(Main main, string filename, Entity playerData)
 {
     MapLoader.load(main, filename, true, playerData);
 }
Exemplo n.º 5
0
 public static void LoadKeepEditor(Main main, string filename)
 {
     MapLoader.load(main, filename, false, null);
 }