private void SendEstateAccessList(LLAgent agent, Estate estate, EstateAccessFlags flags, UUID invoiceID) { HashSet<UUID> agents = null; HashSet<UUID> groups = null; HashSet<UUID> bans = null; HashSet<UUID> managers = null; if ((flags & EstateAccessFlags.AllowedAgents) != 0) agents = estate.GetUsers(); if ((flags & EstateAccessFlags.AllowedGroups) != 0) groups = estate.GetGroups(); if ((flags & EstateAccessFlags.BannedAgents) != 0) bans = estate.GetBannedUsers(); if ((flags & EstateAccessFlags.Managers) != 0) managers = estate.GetManagers(); List<string> parameters = new List<string>() { estate.ID.ToString(), ((uint)flags).ToString(), (agents != null) ? agents.Count.ToString() : "0", (groups != null) ? groups.Count.ToString() : "0", (bans != null) ? bans.Count.ToString() : "0", (managers != null) ? managers.Count.ToString() : "0" }; if (agents != null) { foreach (UUID id in agents) parameters.Add(id.ToString()); } if (groups != null) { foreach (UUID id in groups) parameters.Add(id.ToString()); } if (bans != null) { foreach (UUID id in bans) parameters.Add(id.ToString()); } if (managers != null) { foreach (UUID id in managers) parameters.Add(id.ToString()); } SendEstateOwnerMessage(agent, "setaccess", parameters.ToArray(), invoiceID); }
private void SendEstateAccessList(LLAgent agent, Estate estate, EstateAccessFlags flags, UUID invoiceID) { HashSet <UUID> agents = null; HashSet <UUID> groups = null; HashSet <UUID> bans = null; HashSet <UUID> managers = null; if ((flags & EstateAccessFlags.AllowedAgents) != 0) { agents = estate.GetUsers(); } if ((flags & EstateAccessFlags.AllowedGroups) != 0) { groups = estate.GetGroups(); } if ((flags & EstateAccessFlags.BannedAgents) != 0) { bans = estate.GetBannedUsers(); } if ((flags & EstateAccessFlags.Managers) != 0) { managers = estate.GetManagers(); } List <string> parameters = new List <string>() { estate.ID.ToString(), ((uint)flags).ToString(), (agents != null) ? agents.Count.ToString() : "0", (groups != null) ? groups.Count.ToString() : "0", (bans != null) ? bans.Count.ToString() : "0", (managers != null) ? managers.Count.ToString() : "0" }; if (agents != null) { foreach (UUID id in agents) { parameters.Add(id.ToString()); } } if (groups != null) { foreach (UUID id in groups) { parameters.Add(id.ToString()); } } if (bans != null) { foreach (UUID id in bans) { parameters.Add(id.ToString()); } } if (managers != null) { foreach (UUID id in managers) { parameters.Add(id.ToString()); } } SendEstateOwnerMessage(agent, "setaccess", parameters.ToArray(), invoiceID); }