public static GroupList ( |
||
client | ||
groups | ICollection |
|
return | void |
public void FriendListRequest(MsgrClient client, Packet packet) { var user = client.User; // Lists are sorted alphabetically by the client var groups = MsgrServer.Instance.Database.GetGroups(user); var friends = MsgrServer.Instance.Database.GetFriends(user); user.Groups.Clear(); foreach (var group in groups) { user.Groups.Add(group.Id); } user.Friends.Clear(); user.Friends.AddRange(friends); Send.GroupList(client, groups); Send.FriendListRequestR(client, friends); // Notify friends about user going online var friendUsers = MsgrServer.Instance.UserManager.Get(user.GetNormalFriendIds()); if (friendUsers.Count != 0) { Send.FriendOnline(friendUsers, user); } // Notify user about online friends friendUsers = MsgrServer.Instance.UserManager.Get(user.GetFriendIds()); foreach (var friendUser in friendUsers.Where(a => a.GetFriendshipStatus(user.Id) == FriendshipStatus.Normal)) { Send.FriendOnline(client.User, friendUser); } }
public void FriendListRequest(MsgrClient client, Packet packet) { var user = client.User; // Lists are sorted alphabetically by the client var groups = MsgrServer.Instance.Database.GetGroups(user); var friends = MsgrServer.Instance.Database.GetFriends(user); user.Groups.Clear(); foreach (var group in groups) { user.Groups.Add(group.Id); } user.Friends.Clear(); user.Friends.AddRange(friends); Send.GroupList(client, groups); Send.FriendListRequestR(client, friends); // Notify friends about user going online var friendUsers = MsgrServer.Instance.UserManager.Get(user.GetNormalFriendIds()); if (friendUsers.Count != 0) { Send.FriendOnline(friendUsers, user); } // Notify user about online friends friendUsers = MsgrServer.Instance.UserManager.Get(user.GetFriendIds()); foreach (var friendUser in friendUsers.Where(a => a.GetFriendshipStatus(user.Id) == FriendshipStatus.Normal)) { Send.FriendOnline(client.User, friendUser); } // Notify guild members var guild = MsgrServer.Instance.GuildManager.FindGuildWithMember(user.CharacterId); if (guild != null) { var member = guild.GetMember(user.CharacterId); GuildManager.ForOnlineMembers(guild, memberUser => Send.GuildMemberState(memberUser.Client, guild, member, user, user.Status)); } }