Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
                    }
                }
            }
        }