Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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);
        }