public static void SaveWorldGenSettings(WorldGenSettings wgs) { Directory.CreateDirectory(Application.dataPath + "/Worlds/" + wgs.worldName); BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = File.Create(Application.dataPath + "/Worlds/" + wgs.worldName + "/settings.wgs"); formatter.Serialize(stream, wgs); stream.Close(); }
public static WorldGenSettings LoadWorldGenSettings(string worldName) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = File.Open(Application.dataPath + "/Worlds/" + worldName + "/settings.wgs", FileMode.Open); WorldGenSettings wgs = (WorldGenSettings)formatter.Deserialize(stream); stream.Close(); return(wgs); }
public static void SaveChunks(List <GameObject> _pool, string _worldName, WorldSeed _seed) { _WSeed.amplitude = _seed.amplitude; _WSeed.frequency = _seed.frequency; _WSeed.octave = _seed.octave; _WSeed.reigons = _seed.reigons.ToArray(); _WSeed.items = _seed.randomLoot.ToArray(); WorldGenSettings wgs = new WorldGenSettings(_worldName, _WSeed, Global.maxChunkSize); IOChunks.SaveWorldGenSettings(wgs); foreach (GameObject chunk in _pool) { chunk.GetComponent <MeshBuilder>().SaveChunk(); } }
public void LoadWorld(string worldName) { WorldGenSettings wgs = IOChunks.LoadWorldGenSettings(worldName); seed.amplitude = wgs.seed.amplitude; seed.frequency = wgs.seed.frequency; seed.octave = wgs.seed.octave; seed.reigons.Clear(); for (int i = 0; i < wgs.seed.reigons.Length; i++) { seed.reigons.Add(wgs.seed.reigons[i]); } seed.randomLoot.Clear(); for (int i = 0; i < wgs.seed.items.Length; i++) { seed.randomLoot.Add(wgs.seed.items[i]); } Global.chunks = IOChunks.LoadChunks(worldName); }