/// <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); } }
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(); } } } }