Esempio n. 1
0
        public static Dictionary <string, string> SerializeAll()
        {
            var filesToWrite = new Dictionary <string, string>();

            foreach (var kvp in _dirtyChunks)
            {
                var fileName = kvp.Key.ToString();
                var data     = new SerializableChunk(kvp.Value).Serialize();
                filesToWrite.Add(fileName, data);
            }

            foreach (var kvp in _dirtyBuilders)
            {
                var fileName = kvp.Key.ToString() + "B";
                var data     = new SerializableChunkBuilder(kvp.Value).Serialize();
                filesToWrite.Add(fileName, data);
            }

            foreach (var kvp in _dirtySpaces)
            {
                var fileName = kvp.Key;
                var data     = SerializableSpaceHelper.ToSerializableSpace(kvp.Value).Serialize();
                filesToWrite.Add(fileName, data);
            }

            var characterFile = new SerializableCharacter(CurrentCharacter);

            filesToWrite.Add(Paths.CHARACTERFILE, characterFile.Serialize());

            return(filesToWrite);
        }
Esempio n. 2
0
        private ChunkBuilder LoadBuilder(IntVector2 worldPosition)
        {
            var serializedBuilder   = DataReader.Read(worldPosition.ToString() + "B", DataTypes.CurrentGame);
            var serializableBuilder = SerializableChunkBuilder.Deserialize(serializedBuilder);

            var chunkBuilder = serializableBuilder.ToObject();

            Register(chunkBuilder);

            return(chunkBuilder);
        }