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);
        }
Beispiel #3
0
 /// <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;
 }
Beispiel #4
0
 /// <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;
 }