Aura.Msgr.Network.Send.GuildMemberState C# (CSharp) Method

GuildMemberState() public static method

Sends GuildMemberState to client.
public static GuildMemberState ( MsgrClient client, Guild guild, GuildMember member, Aura.Msgr.Database.User user, ContactStatus status ) : void
client MsgrClient
guild Guild
member Aura.Shared.Database.GuildMember
user Aura.Msgr.Database.User
status ContactStatus
return void
		public static void GuildMemberState(MsgrClient client, Guild guild, GuildMember member, User user, ContactStatus status)
		{
			var packet = new Packet(Op.Msgr.GuildMemberState, 0);
			packet.PutByte(true);
			packet.PutInt(user.Id);
			packet.PutByte((byte)(status == ContactStatus.Online ? ContactStatus.Online : ContactStatus.Offline));
			packet.PutString(user.ChannelName);
			packet.PutLong(user.LastLogin.Ticks);
			packet.PutInt((int)member.Rank);
			packet.PutString(user.FullName);

			client.Send(packet);
		}

Usage Example

Ejemplo n.º 1
0
        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));
            }
        }
All Usage Examples Of Aura.Msgr.Network.Send::GuildMemberState