private void OnTerminateFriendship(IClientAPI client, UUID agentID, UUID exfriendID) { FriendsService.Delete(agentID, exfriendID.ToString()); FriendsService.Delete(exfriendID, agentID.ToString()); // Update local cache UpdateFriendsCache(agentID); client.SendTerminateFriend(exfriendID); // // Notify the friend // // Try local if (LocalFriendshipTerminated(exfriendID, agentID)) { return; } UserInfo friendSession = m_Scenes[0].RequestModuleInterface <IAgentInfoService>().GetUserInfo(exfriendID.ToString()); if (friendSession != null && friendSession.IsOnline) { GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.CurrentRegionID); AsyncMessagePostService.Post(region.RegionHandle, SyncMessageHelper.FriendTerminated( agentID, exfriendID, region.RegionHandle)); } }
private void OnTerminateFriendship(IClientAPI client, UUID agentID, UUID exfriendID) { FriendsService.Delete(agentID, exfriendID.ToString()); FriendsService.Delete(exfriendID, agentID.ToString()); // Update local cache UpdateFriendsCache(agentID); client.SendTerminateFriend(exfriendID); // Notify the friend // Try local if (LocalFriendshipTerminated(exfriendID, agentID)) { return; } SyncMessagePosterService.PostToServer(SyncMessageHelper.FriendTerminated( agentID, exfriendID, m_scene.RegionInfo.RegionID)); }