Exemple #1
0
        public void Leave(UGI group, UUID sessionid, UGUI agent)
        {
            GroupSession session;

            if (m_ActiveSessions.TryGetValue(sessionid, out session) && group.EqualsGrid(session.Group))
            {
                session.Participants.Remove(agent);
                m_ActiveChats.RemoveIf(session.Group.ID, (r) => r.Participants.Count == 0);
            }
        }
Exemple #2
0
 public bool CheckAgentPermissions(UGUI creator, UGUI owner, UGI ownergroup, UGUI accessor, UGI accessorgroup, InventoryPermissionsMask wanted)
 {
     if (accessor.EqualsGrid(creator))
     {
         return(true);
     }
     else if (wanted == InventoryPermissionsMask.None)
     {
         return(false);
     }
     else if (accessorgroup.EqualsGrid(ownergroup) && (wanted & Group) == wanted && (Base & Current & InventoryPermissionsMask.FullPerm) == InventoryPermissionsMask.FullPerm)
     {
         return(true);
     }
     else if (accessor.EqualsGrid(owner))
     {
         return((wanted & Base & Current) == wanted);
     }
     else
     {
         return((wanted & Base & EveryOne) == wanted);
     }
 }