Пример #1
0
        private void Serialize()
        {
            if (m_dataStore != null)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    LLRAW llraw = new LLRAW();
                    llraw.Heightmap   = m_heightmap;
                    llraw.WaterHeight = m_waterHeight;
                    llraw.ToStream(stream);

                    m_dataStore.BeginSerialize(
                        new SerializedData
                    {
                        StoreID     = m_scene.ID,
                        Section     = "terrain",
                        Name        = "terrain",
                        ContentType = "application/x-llraw",
                        Data        = stream.ToArray(),
                        Version     = 1,
                    }
                        );
                }
            }
        }
Пример #2
0
        private void Deserialize()
        {
            if (m_dataStore != null)
            {
                SerializedData terrain = m_dataStore.DeserializeOne(m_scene.ID, "terrain");

                if (terrain != null)
                {
                    try
                    {
                        using (MemoryStream stream = new MemoryStream(terrain.Data))
                        {
                            LLRAW llraw = LLRAW.FromStream(stream);
                            m_waterHeight = llraw.WaterHeight;
                            SetHeightmap(llraw.Heightmap);
                        }
                    }
                    catch (Exception ex)
                    {
                        m_log.Warn("Failed to deserialize terrain: " + ex.Message);
                    }
                }
            }
        }
Пример #3
0
        private void Serialize()
        {
            if (m_dataStore != null)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    LLRAW llraw = new LLRAW();
                    llraw.Heightmap = m_heightmap;
                    llraw.WaterHeight = m_waterHeight;
                    llraw.ToStream(stream);

                    m_dataStore.BeginSerialize(
                        new SerializedData
                        {
                            StoreID = m_scene.ID,
                            Section = "terrain",
                            Name = "terrain",
                            ContentType = "application/x-llraw",
                            Data = stream.ToArray(),
                            Version = 1,
                        }
                    );
                }
            }
        }