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)); }