Пример #1
0
        public DGRPImg(GraphicsDevice Device, Iff Parent, FileReader Reader, uint Version)
        {
            m_Graphics = Device;
            m_SBatch   = new SpriteBatch(m_Graphics);

            if (Version == 20000 || Version == 20001)
            {
                SpriteCount = Reader.ReadUShort();
                Direction   = (DirectionFlags)Reader.ReadByte();
                ZoomLevel   = Reader.ReadByte();

                for (int i = 0; i < SpriteCount; i++)
                {
                    SpriteInfo Info = new SpriteInfo(Reader, this, Version);
                    m_Sprites.Add(new DrawGroupSprite(Device, Info,
                                                      Parent.GetSprite((ushort)Info.SPRChunkID).GetFrame(Info.SPRFrameNum)));
                }
            }
            else
            {
                Direction   = (DirectionFlags)Reader.ReadUInt32();
                ZoomLevel   = Reader.ReadUInt32();
                SpriteCount = Reader.ReadUInt32();

                for (int i = 0; i < SpriteCount; i++)
                {
                    SpriteInfo Info = new SpriteInfo(Reader, this, Version);
                    m_Sprites.Add(new DrawGroupSprite(Device, Info,
                                                      Parent.GetSprite((ushort)Info.SPRChunkID).GetFrame(Info.SPRFrameNum)));
                }
            }
        }