private void HandleFriendMoved(ParseData pd)
        {
            DataReader dr = new DataReader(pd.Data);
            byte index = dr.ReadByte();
            byte newIndex = dr.ReadByte();

            FriendUser friend = m_friendsList[index];
            friend.Index = newIndex;
            m_friendsList.Insert(newIndex, friend);

            if (newIndex < index)
            {
                for (int i = newIndex + 1; i <= index; i++)
                {
                    m_friendsList[i].Index += 1;
                }
            }
            else if (newIndex > index)
            {
                for (int i = index; i < newIndex; i++)
                {
                    m_friendsList[i].Index -= 1;
                }
            }

            FriendMovedEventArgs args = new FriendMovedEventArgs(friend, newIndex) { EventData = pd };
            OnFriendMoved(args);
        }
Beispiel #2
0
 void client_FriendMoved(object sender, FriendMovedEventArgs e)
 {
     ThreadStart ts = delegate
     {
         this.lbFriends.Items.Remove(e.Friend);
         this.lbFriends.Items.Insert(e.NewIndex, e.Friend);
     };
     if (InvokeRequired)
         BeginInvoke(ts);
     else
         ts();
 }
 void Client_FriendMoved(object sender, FriendMovedEventArgs e)
 {
     if (__friendMoved != null)
         __friendMoved.Call(_host.ClientHost, ConvObj(e));
 }