public MuteList[] GetMuteList(UUID PrincipalID) { List <MuteList> Mutes = new List <MuteList>(); Dictionary <string, OSDMap> Map = null; #if (!ISWIN) foreach (string mServerUri in m_ServerURIs) { if (SimianUtils.GetGenericEntries(PrincipalID, "MuteList", mServerUri, out Map)) { foreach (object OSDMap in Map.Values) { MuteList mute = new MuteList(); mute.FromOSD((OSDMap)OSDMap); Mutes.Add(mute); } return(Mutes.ToArray()); } } #else if (m_ServerURIs.Any(m_ServerURI => SimianUtils.GetGenericEntries(PrincipalID, "MuteList", m_ServerURI, out Map))) { foreach (object OSDMap in Map.Values) { MuteList mute = new MuteList(); mute.FromOSD((OSDMap)OSDMap); Mutes.Add(mute); } return(Mutes.ToArray()); } #endif return(null); }
public override void FromOSD(OSDMap map) { AgentInfo = new IAgentInfo(); AgentInfo.FromOSD((OSDMap)(map["AgentInfo"])); UserAccount = new UserAccount(); UserAccount.FromOSD((OSDMap)(map["UserAccount"])); if (!map.ContainsKey("ActiveGroup")) { ActiveGroup = null; } else { ActiveGroup = new GroupMembershipData(); ActiveGroup.FromOSD((OSDMap)(map["ActiveGroup"])); } GroupMemberships = ((OSDArray)map["GroupMemberships"]).ConvertAll <GroupMembershipData>((o) => { GroupMembershipData group = new GroupMembershipData (); group .FromOSD ((OSDMap )o); return(group); }); OfflineMessages = ((OSDArray)map["OfflineMessages"]).ConvertAll <GridInstantMessage>((o) => { GridInstantMessage group = new GridInstantMessage (); group.FromOSD( (OSDMap)o); return(group); }); MuteList = ((OSDArray)map["MuteList"]).ConvertAll <MuteList>((o) => { MuteList group = new MuteList(); group.FromOSD((OSDMap)o); return(group); }); if (map.ContainsKey("Appearance")) { Appearance = new AvatarAppearance(); Appearance.FromOSD((OSDMap)map["Appearance"]); } }