예제 #1
0
        /**cTSOValue<class cRZAutoRefCount<class cITSOProperty> > body:
         * dword Body clsid (iid=896E3E90 or "GZIID_cITSOProperty"; clsid should be 0x89739A79 for cTSOProperty)
         * dword Body
         * dword Struct type (e.g. 0x3B0430BF for AvatarAppearance)
         * dword Field count
         * Fields - for each field:
         * dword Field name (e.g. 0x1D530275 for AvatarAppearance_BodyOutfitID)
         * dword cTSOValue clsid
         * cTSOValue body**/

        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(0x89739A79);
            output.PutUInt32(StructType);
            output.PutUInt32((uint)StructFields.Count);

            foreach (var item in StructFields)
            {
                output.PutUInt32(item.ID);
                output.PutUInt32(item.Value.Type);
                output.PutSerializable(item.Value.Value, context);
            }
        }
예제 #2
0
 public static void PutSerializable(this IoBuffer buffer, object obj, ISerializationContext context)
 {
     buffer.PutSerializable(context, obj, false);
 }