예제 #1
0
        public bool WriteFile(string filePath)
        {
            var worldFilePath = filePath + System.IO.Path.DirectorySeparatorChar + "world.png";
            var metaFilePath  = filePath + System.IO.Path.DirectorySeparatorChar + "meta.txt";

            if (File.Exists(worldFilePath) && File.Exists(metaFilePath))
            {
                Console.Out.WriteLine("Overworld {0} already exists. Just assuming it is correct.", worldFilePath);
                return(false);
            }

            // Write meta info
            Data.Version = Program.Version;
            FileUtils.SaveJSon(Data, metaFilePath, false);

            // Save Image
            var texture = Data.CreateSaveTexture(Device, Width, Height);

            using (var stream = new System.IO.FileStream(worldFilePath, System.IO.FileMode.Create))
            {
                texture.SaveAsPng(stream, Width, Height);
            }

            return(true);
        }
예제 #2
0
 public bool WriteFile(string filePath, bool compress, bool binary)
 {
     if (!binary)
     {
         return(FileUtils.SaveJSon(this, filePath, compress));
     }
     return(FileUtils.SaveBinary(this, filePath));
 }
예제 #3
0
 public bool WriteFile(string filePath, bool compress, bool binary)
 {
     if (!binary)
     {
         return(FileUtils.SaveJSon <OverworldFile>(this, filePath, compress));
     }
     else
     {
         return(FileUtils.SaveBinary <OverworldFile>(this, filePath));
     }
 }
예제 #4
0
        public void WriteFile(string directory)
        {
            System.IO.Directory.CreateDirectory(directory);
            System.IO.Directory.CreateDirectory(directory + ProgramData.DirChar + "Chunks");

            foreach (ChunkFile chunk in ChunkData)
            {
                chunk.WriteFile(directory + ProgramData.DirChar + "Chunks" + ProgramData.DirChar + chunk.ID.X + "_" + chunk.ID.Y + "_" + chunk.ID.Z + "." + (DwarfGame.COMPRESSED_BINARY_SAVES ? ChunkFile.CompressedExtension : ChunkFile.Extension), DwarfGame.COMPRESSED_BINARY_SAVES, DwarfGame.COMPRESSED_BINARY_SAVES);
            }

            FileUtils.SaveJSon(this.Metadata, directory + ProgramData.DirChar + "Metadata." + MetaData.Extension, false);
            FileUtils.SaveJSon(this.PlayData, directory + ProgramData.DirChar + "World." + PlayData.Extension, DwarfGame.COMPRESSED_BINARY_SAVES);
        }
예제 #5
0
            public void SaveToDirectory(string directory)
            {
                System.IO.Directory.CreateDirectory(directory);
                System.IO.Directory.CreateDirectory(directory + ProgramData.DirChar + "Chunks");

                foreach (ChunkFile chunk in ChunkData)
                {
                    chunk.WriteFile(directory + ProgramData.DirChar + "Chunks" + ProgramData.DirChar + chunk.ID.X + "_" + chunk.ID.Y + "_" + chunk.ID.Z + "." + ChunkFile.CompressedExtension, true);
                }

                Metadata.WriteFile(directory + ProgramData.DirChar + "MetaData." + MetaData.CompressedExtension, true);

                FileUtils.SaveJSon(Camera, directory + ProgramData.DirChar + "Camera." + "json", false);

                FileUtils.SaveJSon(Components, directory + ProgramData.DirChar + "Components." + "zcomp", true);
            }
예제 #6
0
            public void SaveToDirectory(string directory)
            {
                System.IO.Directory.CreateDirectory(directory);
                System.IO.Directory.CreateDirectory(directory + ProgramData.DirChar + "Chunks");

                foreach(ChunkFile chunk in ChunkData)
                {
                    chunk.WriteFile(directory + ProgramData.DirChar + "Chunks" + ProgramData.DirChar + chunk.ID.X + "_" + chunk.ID.Y + "_" + chunk.ID.Z + "." + (DwarfGame.COMPRESSED_BINARY_SAVES ? ChunkFile.CompressedExtension : ChunkFile.Extension), DwarfGame.COMPRESSED_BINARY_SAVES, DwarfGame.COMPRESSED_BINARY_SAVES);
                }

                Metadata.WriteFile(directory + ProgramData.DirChar + "MetaData." + (DwarfGame.COMPRESSED_BINARY_SAVES ? MetaData.CompressedExtension : MetaData.Extension), 
                    DwarfGame.COMPRESSED_BINARY_SAVES);

                FileUtils.SaveJSon(Camera, directory + ProgramData.DirChar + "Camera." + (DwarfGame.COMPRESSED_BINARY_SAVES ? GameFile.CompressedExtension : GameFile.Extension), DwarfGame.COMPRESSED_BINARY_SAVES);

                FileUtils.SaveJSon(Components, directory + ProgramData.DirChar + "Components." 
                    + (DwarfGame.COMPRESSED_BINARY_SAVES ? GameFile.CompressedExtension : GameFile.Extension), DwarfGame.COMPRESSED_BINARY_SAVES);
            }
예제 #7
0
        public void WriteFile(string directory)
        {
            System.IO.Directory.CreateDirectory(directory);
            System.IO.Directory.CreateDirectory(directory + Path.DirectorySeparatorChar + "Chunks");

            foreach (ChunkFile chunk in ChunkData)
            {
                var filename = directory + Path.DirectorySeparatorChar + "Chunks" + Path.DirectorySeparatorChar + chunk.ID.X + "_" + chunk.ID.Y + "_" + chunk.ID.Z + ".";
                if (DwarfGame.COMPRESSED_BINARY_SAVES)
                {
                    FileUtils.SaveBinary(chunk, filename + ChunkFile.CompressedExtension);
                }
                else
                {
                    FileUtils.SaveJSon(chunk, filename + ChunkFile.Extension, false);
                }
            }

            FileUtils.SaveJSon(this.Metadata, directory + Path.DirectorySeparatorChar + "Metadata." + MetaData.Extension, false);
            FileUtils.SaveJSon(this.PlayData, directory + Path.DirectorySeparatorChar + "World." + PlayData.Extension, DwarfGame.COMPRESSED_BINARY_SAVES);
        }
예제 #8
0
 public  bool WriteFile(string filePath, bool compress)
 {
     return FileUtils.SaveJSon(this, filePath, compress);
 }
예제 #9
0
 public bool WriteFile(string filePath, bool compress)
 {
     return(FileUtils.SaveJSon <OverworldFile>(this, filePath, compress));
 }