コード例 #1
0
ファイル: Level.cs プロジェクト: RatchetModding/replanetizer
        public void Save(string outputFile)
        {
            string?directory;

            if (File.Exists(outputFile) && File.GetAttributes(outputFile).HasFlag(FileAttributes.Directory))
            {
                directory = outputFile;
            }
            else
            {
                directory = Path.GetDirectoryName(outputFile);
            }

            if (directory == null)
            {
                return;
            }

            EngineSerializer engineSerializer = new EngineSerializer();

            engineSerializer.Save(this, directory);
            GameplaySerializer gameplaySerializer = new GameplaySerializer();

            gameplaySerializer.Save(this, directory);

            for (int i = 0; i < terrainChunks.Count; i++)
            {
                ChunkSerializer chunkSerializer = new ChunkSerializer();
                chunkSerializer.Save(this, directory, i);
            }
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: WooshiiDev/replanetizer
        private void mapSaveAsBtn_Click(object sender, EventArgs e)
        {
            if (mapSaveDialog.ShowDialog() == DialogResult.OK)
            {
                string pathName = Path.GetDirectoryName(mapSaveDialog.FileName);

                GameplaySerializer gameplaySerializer = new GameplaySerializer();
                gameplaySerializer.Save(level, mapSaveDialog.FileName);
                EngineSerializer engineSerializer = new EngineSerializer();
                engineSerializer.Save(level, pathName);
            }
            InvalidateView();
        }