Пример #1
0
        public Animation(BinaryReader reader)
        {
            int spriteSheetsCount = reader.ReadByte();

            SpriteSheets = new List <string>(spriteSheetsCount);
            while (spriteSheetsCount-- > 0)
            {
                SpriteSheets.Add(StringEncoding.GetString(reader));
            }

            var animationsCount = reader.ReadByte();

            Animations = new List <AnimationEntry>(animationsCount);
            while (animationsCount-- > 0)
            {
                Animations.Add(new AnimationEntry(reader));
            }

            var collisionBoxesCount = reader.ReadByte();

            Hitboxes = new List <HitboxEntry>(collisionBoxesCount);
            while (collisionBoxesCount-- > 0)
            {
                Hitboxes.Add(new HitboxEntry(reader));
            }
        }
        public void Read(BinaryReader reader)
        {
            Name = StringEncoding.GetString(reader);

            var framesCount = reader.ReadByte();

            Speed = reader.ReadByte();
            Loop  = reader.ReadByte();
            Flags = reader.ReadByte();
            for (int i = 0; i < framesCount; i++)
            {
                var frame = new Frame();
                frame.Read(reader);
                Frames.Add(frame);
            }
        }