private void processChannels(ChatChannels chatChannels) { List <string> channels = new List <string> (); foreach (ChatChannel chatChannel in chatChannels.chatChannel) { channels.Add(chatChannel.name); subscribers [chatChannel.name] = chatChannel.subscribers.subscriberId; } foreach (string name in channels.Except(channelSubscriptions)) { channelSubscriptions.Add(name); if (name.StartsWith("priv_")) { privateChannelSubscriptions.Add(name); } if (channelJoined != null) { channelJoined(name); } } List <string> channelsToRemove = channelSubscriptions.Except(channels).ToList(); foreach (string name in channelsToRemove) { channelSubscriptions.Remove(name); if (name.StartsWith("priv_")) { privateChannelSubscriptions.Remove(name); } if (channelLeft != null) { channelLeft(name); } } }
private void processChannels(ChatChannels chatChannels) { List<string> channels = new List<string> (); foreach (ChatChannel chatChannel in chatChannels.chatChannel) { channels.Add (chatChannel.name); subscribers [chatChannel.name] = chatChannel.subscribers.subscriberId; } foreach (string name in channels.Except(channelSubscriptions)) { channelSubscriptions.Add (name); if (name.StartsWith ("priv_")) { privateChannelSubscriptions.Add (name); } if (channelJoined != null) { channelJoined (name); } } List<string> channelsToRemove = channelSubscriptions.Except (channels).ToList (); foreach (string name in channelsToRemove) { channelSubscriptions.Remove (name); if (name.StartsWith ("priv_")) { privateChannelSubscriptions.Remove (name); } if (channelLeft != null) { channelLeft (name); } } }