public override OSD GetOSD() { OSDMap Avi = (OSDMap)base.GetOSD(); OSDArray grp = new OSDArray(); Groups.ForEach(delegate(UUID u) { grp.Add(OSD.FromUUID(u)); }); OSDArray vp = new OSDArray(); for (int i = 0; i < VisualParameters.Length; i++) { vp.Add(OSD.FromInteger(VisualParameters[i])); } Avi["groups"] = grp; Avi["profile_statistics"] = ProfileStatistics.GetOSD(); Avi["profile_properties"] = ProfileProperties.GetOSD(); Avi["profile_interest"] = ProfileInterests.GetOSD(); Avi["control_flags"] = OSD.FromInteger((byte)ControlFlags); Avi["visual_parameters"] = vp; Avi["first_name"] = OSD.FromString(FirstName); Avi["last_name"] = OSD.FromString(LastName); Avi["group_name"] = OSD.FromString(GroupName); return(Avi); }