Ejemplo n.º 1
0
        private static FrameTag FromReader(BinaryReader reader)
        {
            ushort fromFrame
                = reader.ReadUInt16();
            ushort toFrame
                = reader.ReadUInt16();
            var direction
                = reader.ReadByte();
            var future
                = reader.ReadBytes(8);
            Color color
                = Color.FromArgb(reader.ReadByte(), reader.ReadByte(), reader.ReadByte());
            var zero
                = reader.ReadByte();
            string tagName
                = Ase.ReadString(reader);

            return(new FrameTag(fromFrame, toFrame, (AnimationDirection)direction, color, tagName));
        }
Ejemplo n.º 2
0
        internal static UserData FromChunk(Chunk chunk)
        {
            using (var reader = chunk.GetDataReader())
            {
                switch (reader.ReadUInt32())
                {
                case 0b00:
                    return(new UserData());

                case 0b01:
                    return(new UserData(Ase.ReadString(reader)));

                case 0b10:
                    return(new UserData(Colorizing.ReadColor(reader)));

                case 0b11:
                    return(new UserData(Ase.ReadString(reader), Colorizing.ReadColor(reader)));

                default:
                    throw new ArgumentException($"Unknown user data flags encountered at {reader.BaseStream.Position - 4}.");
                }
            }
        }