public void read(Reader reader) { if (!reader.readBytes(4).SequenceEqual(signature)) { reader.Close(); throw new Exception("Invalid TileConfig signature"); } using (Reader creader = reader.getCompressedStream()) { for (int i = 0; i < TILES_COUNT; ++i) { collisionMasks[0][i].read(creader); } for (int i = 0; i < TILES_COUNT; ++i) { collisionMasks[1][i].read(creader); } } reader.Close(); }
public void read(Reader reader) { visible = reader.ReadBoolean(); name = reader.readRSDKString(); type = (Types)reader.ReadByte(); drawOrder = reader.ReadByte(); width = reader.ReadUInt16(); height = reader.ReadUInt16(); parallaxFactor = reader.ReadInt16(); scrollSpeed = reader.ReadInt16(); ushort scrollInfoCount = reader.ReadUInt16(); scrollInfo.Clear(); for (int i = 0; i < scrollInfoCount; ++i) { scrollInfo.Add(new ScrollInfo(reader)); } // Read Line Scroll, its compressed using ZLib compression lineScroll = reader.readCompressed(); // Read tile map, its compressed using ZLib compression layout = new Tile[height][]; using (Reader creader = reader.getCompressedStream()) { for (int y = 0; y < height; ++y) { layout[y] = new Tile[width]; for (int x = 0; x < width; ++x) { layout[y][x] = creader.ReadUInt16(); } } } }