Beispiel #1
0
 /// <summary>
 /// Remove the all of the user's CAPS from the system
 /// </summary>
 /// <param name="AgentID"></param>
 public void RemoveCAPS(UUID AgentID)
 {
     if (m_ClientCapsServices.ContainsKey(AgentID))
     {
         IClientCapsService perClient = m_ClientCapsServices[AgentID];
         perClient.Close();
         m_ClientCapsServices.Remove(AgentID);
         m_registry.RequestModuleInterface <ISimulationBase>().EventManager.FireGenericEventHandler("UserLogout", AgentID);
     }
 }
Beispiel #2
0
        void OnClosingClient(IClientAPI client)
        {
            ICapsService service = m_scene.RequestModuleInterface <ICapsService>();

            if (service != null)
            {
                IClientCapsService clientCaps = service.GetClientCapsService(client.AgentId);
                if (clientCaps != null)
                {
                    IRegionClientCapsService regionCaps = clientCaps.GetCapsService(m_scene.RegionInfo.RegionHandle);
                    if (regionCaps != null)
                    {
                        regionCaps.Close();
                        clientCaps.RemoveCAPS(m_scene.RegionInfo.RegionHandle);
                    }
                    if (client.IsLoggingOut)
                    {
                        clientCaps.Close();
                    }
                }
            }
        }