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);
 }
 private static void DeserializeMapVisualObject(BinaryReader Reader, MapVisualObject Object)
 {
     Object.Tile = DeserializeMapTile(Reader);
 }
Ejemplo n.º 5
0
 public static void SerializeMapVisualObject(BinaryWriter Writer, MapVisualObject VisualObject)
 {
     SerializeMapObject(Writer, VisualObject);
     SerializeMapTile(Writer, VisualObject.Tile);
 }