Exemplo n.º 1
0
        public void Write(SwfWriter writer)
        {
            writer.WriteUIntEncoded((uint)_name.Index);

            if (_metadata == null)
            {
                Attributes &= ~AbcTraitAttributes.HasMetadata;
            }
            else
            {
                Attributes |= AbcTraitAttributes.HasMetadata;
            }

            int kind = ((int)_kind & 0x0F) | ((int)Attributes << 4);

            writer.WriteUInt8((byte)kind);

            _slot.Write(writer);

            if (_metadata != null)
            {
                int n = _metadata.Count;
                writer.WriteUIntEncoded((uint)n);
                for (int i = 0; i < n; ++i)
                {
                    writer.WriteUIntEncoded((uint)_metadata[i].Index);
                }
            }
        }