using System.Collections.Generic; using Mina.Core.Buffer; using FSO.Common.Serialization; namespace FSO.Server.Protocol.Voltron.DataService { public class cITSOProperty : IoBufferSerializable { public uint StructType; public List StructFields; /**cTSOValue > 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); } } } public class cITSOField { public uint ID; public cTSOValue Value; } }