private void HandleClanMemberStatusChanged(ParseData pd) { DataReader dr = new DataReader(pd.Data); string userName = dr.ReadCString(); if (m_clanList.ContainsKey(userName)) { ClanMember member = m_clanList[userName]; ClanRank rank = (ClanRank)dr.ReadByte(); ClanMemberStatus status = (ClanMemberStatus)dr.ReadByte(); string location = dr.ReadCString(); member.Rank = rank; member.CurrentStatus = status; member.Location = location; ClanMemberStatusEventArgs args = new ClanMemberStatusEventArgs(member); args.EventData = pd; OnClanMemberStatusChanged(args); } }
private void HandleClanMemberList(ParseData pd) { DataReader dr = new DataReader(pd.Data); dr.Seek(4); byte memCount = dr.ReadByte(); for (int i = 0; i < memCount; i++) { string userName = dr.ReadCString(); ClanRank rank = (ClanRank)dr.ReadByte(); ClanMemberStatus status = (ClanMemberStatus)dr.ReadByte(); string location = dr.ReadCString(); m_clanList.Add(userName, new ClanMember(userName, rank, status, location)); } ClanMember[] members = new ClanMember[m_clanList.Count]; m_clanList.Values.CopyTo(members, 0); ClanMemberListEventArgs args = new ClanMemberListEventArgs(members); args.EventData = pd; OnClanMemberListReceived(args); }
/// <summary> /// Creates a new <see>ClanMember</see> for a user who is online or offline. /// </summary> /// <param name="userName">The clan member's user name.</param> /// <param name="rank">The clan member's rank.</param> /// <param name="status">The clan member's current status.</param> /// <param name="location">The name of the member's current location (such as a channel or game name).</param> public ClanMember(string userName, ClanRank rank, ClanMemberStatus status, string location) : this(userName, rank) { m_online = status; m_location = location; }
/// <summary> /// Creates a new <see>ClanMember</see> for a user who is online or offline. /// </summary> /// <param name="userName">The clan member's user name.</param> /// <param name="rank">The clan member's rank.</param> /// <param name="status">The clan member's current status.</param> /// <param name="location">The name of the member's current location (such as a channel or game name).</param> public ClanMember(string userName, ClanRank rank, ClanMemberStatus status, string location) : this(userName, rank) { m_online = status; m_location = location; }