private static MapTileSet DeserializeMapTileSet(BinaryReader Reader) { MapTileSet tileSet = new MapTileSet(); int Count = DeserializeLength(Reader); Dictionary <Guid, Guid> destroyedReferences = new Dictionary <Guid, Guid>(); for (int i = 0; i < Count; i++) { MapVisualObject tile = DeserializeMapObject(Reader, destroyedReferences) as MapVisualObject; if (tile != null) { tileSet.Add(tile); } } foreach (KeyValuePair <Guid, Guid> reference in destroyedReferences) { MapVisualObject tileSource = GetTile(reference.Key, tileSet); MapVisualObject tileTarget = GetTile(reference.Value, tileSet); //if ((tileSource is MapWall) && (tileTarget is MapWall)) // (tileSource as MapWall).DestroyedWall = tileTarget as MapWall; if ((tileSource is MapActiveObject) && (tileTarget is MapActiveObject)) { (tileSource as MapActiveObject).DestroyedActiveObject = tileTarget as MapActiveObject; } } return(tileSet); }
private static void DeserializeMapVisualObject(BinaryReader Reader, MapVisualObject Object) { Object.Tile = DeserializeMapTile(Reader); }
public static void SerializeMapVisualObject(BinaryWriter Writer, MapVisualObject VisualObject) { SerializeMapObject(Writer, VisualObject); SerializeMapTile(Writer, VisualObject.Tile); }