Пример #1
0
        private void ConnectionManager_UserRemoved(object sender, UserNameIndexEventArgs e)
        {
            var         pmUser       = privateMessageUsers.Find(pmsgUser => pmsgUser.IrcUser.Name == e.UserName);
            ChatMessage leaveMessage = null;

            if (pmUser != null)
            {
                leaveMessage = new ChatMessage(Color.White,
                                               e.UserName + " is now offline.");
                pmUser.Messages.Add(leaveMessage);
            }

            if (tabControl.SelectedTab == ALL_PLAYERS_VIEW_INDEX)
            {
                if (e.UserIndex >= lbUserList.Items.Count || e.UserIndex < 0)
                {
                    return;
                }

                if (e.UserIndex == lbUserList.SelectedIndex)
                {
                    lbUserList.SelectedIndex = -1;
                }
                else if (e.UserIndex < lbUserList.SelectedIndex)
                {
                    lbUserList.SelectedIndexChanged -= LbUserList_SelectedIndexChanged;
                    lbUserList.SelectedIndex--;
                    lbUserList.SelectedIndexChanged += LbUserList_SelectedIndexChanged;
                }

                lbUserList.Items.RemoveAt(e.UserIndex);
            }
            else
            {
                XNAListBoxItem lbItem = lbUserList.Items.Find(i => i.Text == e.UserName);

                if (lbItem != null)
                {
                    lbItem.TextColor = UISettings.ActiveSettings.DisabledItemColor;
                    lbItem.Texture   = null;
                    lbItem.Tag       = false;

                    if (lbItem == lbUserList.SelectedItem && leaveMessage != null)
                    {
                        tbMessageInput.Enabled = false;
                        lbMessages.AddMessage(leaveMessage);
                    }
                }
            }
        }
 private void Channel_UserQuitIRC(object sender, UserNameIndexEventArgs e)
 {
     RemovePlayer(e.UserName);
     UpdateDiscordPresence();
 }
 private void Channel_UserQuitIRC(object sender, UserNameIndexEventArgs e)
 {
     RemovePlayer(e.UserName);
 }