public static TileData Deserialize(System.IO.Stream stream, int x, int y) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); int serialData = reader.ReadInt32(); if ((serialData & 0x80000000) == 0x80000000) { return(ExtendedTileData.Deserialize(stream, (int)(serialData & (~0x80000000)), x, y)); } return(new TileData(serialData)); }
public Engine.Events.TileEvent AddTileEvent(int x, int y, Engine.Events.EventInfo eventInfo) { TileData data = GetTile(x, y); ExtendedTileData exdata = data.IsExtended ? data.Extended : data.Extend(x, y); Engine.Events.TileEvent ev = new Events.TileEvent(eventInfo, exdata); exdata.AddEvent(ev); events.Add(ev); SetTile(x, y, exdata); return(ev); }
public static ExtendedTileData Deserialize(System.IO.Stream stream, int data, int x, int y) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); int count = reader.ReadInt32(); Events.TileEvent[] events = new Events.TileEvent[count]; for (int i = 0; i < events.Length; i++) { events[i] = Engine.Events.TileEvent.Deserialize(stream); } ExtendedTileData exdata = new ExtendedTileData(data, x, y); exdata.AddEvents(events); return(exdata); }