コード例 #1
0
ファイル: API.cs プロジェクト: AdderAPI/RedPSU
        private void CollectionChanged(NotifyCollectionChangedEventArgs e)
        {
            //Add
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                if (e.NewItems != null)
                {
                    foreach (object item in e.NewItems)
                    {
                        if (item.GetType() == typeof(User))
                        {
                            User user = (User)item;
                            OnUserAdded?.Invoke(user, new EventArgs());
                        }
                    }
                }
            }

            //Remove
            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                if (e.OldItems != null)
                {
                    foreach (object item in e.OldItems)
                    {
                        if (item.GetType() == typeof(User))
                        {
                            User user = (User)item;
                            OnUserRemoved?.Invoke(user, new EventArgs());
                        }
                    }
                }
            }

            //Updates
            if (e.Action == NotifyCollectionChangedAction.Replace)
            {
                if (e.NewItems != null)
                {
                    foreach (Object item in e.NewItems)
                    {
                        if (item.GetType() == typeof(Output))
                        {
                            Output output = (Output)item;
                            OnOutputUpdated?.Invoke(this, new EventArgs());
                        }
                        if (item.GetType() == typeof(User))
                        {
                            User user = (User)item;
                            OnUserUpdated?.Invoke(user, new EventArgs());
                        }
                        if (item.GetType() == typeof(PSU))
                        {
                            PSU psu = (PSU)item;
                            OnPSUUpdated?.Invoke(psu, new EventArgs());
                        }
                    }
                }
            }
        }
コード例 #2
0
        private void RemoveAt(int index)
        {
            User user = _userList[index];

            OnUserRemoved?.Invoke(user);
            OnUserListChanged?.Invoke(user);
            _userList.RemoveAt(index);
        }
コード例 #3
0
 //Close client account and remove user
 private void RemoveUser()
 {
     _clientConnection.Disconnect();
     OnUserRemoved?.Invoke(_user, EventArgs.Empty);
     _isConnected      = false;
     _clientConnection = null;
     _user             = null;
 }
コード例 #4
0
 public void RemoveMember(ulong member)
 {
     if (Contains(member))
     {
         _members.Remove(member);
         OnUserRemoved?.Invoke(ChannelId, member);
     }
 }
コード例 #5
0
ファイル: UsersHandler.cs プロジェクト: liorkatiy/Chat
 //Remove NetUser And Take Status String
 void Remove(NetUser u, string status)
 {
     try
     {
         if (users.Remove(u))
         {
             UserStatusChanged(false, status, u);
             OnUserRemoved?.Invoke(u);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("GroupChat|Remove| User: "******" \nError: " + e.Message);
     }
 }
コード例 #6
0
ファイル: IGSMStatus.cs プロジェクト: JBetser/Imagenius_SDK
 public static void SetUserRemovedDelegate(OnUserRemoved delegateOnUserRemoved)
 {
     m_delegateOnUserRemoved = delegateOnUserRemoved;
 }
コード例 #7
0
 private void Remove(User user)
 {
     OnUserRemoved?.Invoke(user);
     OnUserListChanged?.Invoke(user);
     _userList.Remove(user);
 }
コード例 #8
0
 protected void RaiseUserRemoved(UserBase user)
 {
     OnUserRemoved?.Invoke(user);
 }