public bool RemoveFriend(Friend friend) { if (friend.IsOnline()) { OnFriendLogout(friend.Character); // unregister the events } Friend dummy; if (m_friends.TryRemove(friend.Account.Id, out dummy)) { m_relationsToRemove.Push(friend.Relation); FriendHandler.SendFriendDeleteResultMessage(Owner.Client, true, friend.Account.Nickname); return(true); } FriendHandler.SendFriendDeleteResultMessage(Owner.Client, false, friend.Account.Nickname); return(false); }
public bool RemoveFriend(Friend friend) { if (friend.IsOnline()) { this.OnCharacterLogout(friend.Character); } Friend friend2; bool result; if (this.m_friends.TryRemove(friend.Account.Id, out friend2)) { this.m_relationsToRemove.Push(friend.Relation); FriendHandler.SendFriendDeleteResultMessage(this.Owner.Client, true, friend.Account.Nickname); result = true; } else { FriendHandler.SendFriendDeleteResultMessage(this.Owner.Client, false, friend.Account.Nickname); result = false; } return(result); }