public override void CleanUp()
{
if (this.User == null)
return;
MsgrServer.Instance.UserManager.Remove(this.User);
// Notify friends about user going offline
var friendUsers = MsgrServer.Instance.UserManager.Get(this.User.GetFriendIds());
if (friendUsers.Count != 0)
Network.Send.FriendOffline(friendUsers, this.User);
var guild = MsgrServer.Instance.GuildManager.FindGuildWithMember(this.User.CharacterId);
if (guild != null)
{
var member = guild.GetMember(this.User.CharacterId);
GuildManager.ForOnlineMembers(guild, memberUser => Network.Send.GuildMemberState(memberUser.Client, guild, member, this.User, ContactStatus.Offline));
}
}
}