Пример #1
0
 private void PrepareJoining()
 {
     StatusValue = ChannelStates.Joining;
     NamesListenerValue = new NamesListener(Client);
     NamesListenerValue.NamesEnd += new NamesEndEventHandler(NamesListenerValue_NamesEnd);
 }
Пример #2
0
 void NamesListenerValue_NamesEnd(Object sender, NamesEndEventArgs args)
 {
     if (Disposed) return;
     if (Status == ChannelStates.Joining) {
         if (args.ChannelName != Name) return;
         NickListValue.Clear();
         foreach (String name in args.Names)
         {
             NickListValue.Add(new ChannelUser(this, name));
         }
         //NickListValue.AddRange(args.Names);
         StatusValue = ChannelStates.In;
         if (Joined != null) Joined(this, new JoinedEventArgs(this, Client));
     }
 }
Пример #3
0
 private void PrepareChannel()
 {
     StatusValue = ChannelStates.NotIn;
     NickListValue = new List<ChannelUser>();
     Client.JoinReceived += new JoinReceivedEventHandler(Client_JoinReceived);
     Client.PartReceived += new PartReceivedEventHandler(Client_PartReceived);
     Client.QuitReceived += new QuitReceivedEventHandler(Client_QuitReceived);
     Client.KickReceived += new KickReceivedEventHandler(Client_KickReceived);
     Client.NoticeReceived += new NoticeReceivedEventHandler(Client_NoticeReceived);
     Client.PrivateMessageReceived += new PrivateMessageReceivedEventHandler(Client_PrivateMessageReceived);
     Client.NumericReceived += new NumericReceivedEventHandler(Client_NumericReceived);
     Client.ModeReceived += new ModeReceivedEventHandler(Client_ModeReceived);
 }
Пример #4
0
 void Client_PartReceived(Object sender, PartReceivedEventArgs e)
 {
     if (Disposed) return;
     if (e.ChannelName != Name) return;
     if (Status != ChannelStates.In) return;
     if (e.User.NickName != Client.MyUserInfo.NickName)
     {
         ChannelUser user = this[e.User.NickName];
         if (UserLeave != null) UserLeave(this, new UserLeaveEventArgs(user, UserLeaveReason.Parted));
         NickListValue.Remove(user);
     }
     else
     {
         StatusValue = ChannelStates.NotIn;
         if (Parted != null) Parted(this, new PartedEventArgs(this, Client));
         NickListValue.Clear();
         NamesListenerValue = null;
         TopicValue = "";
     }
 }