protected virtual bool Connect(string channelName, bool anonymous) { if (m_ChatState != ChatState.Initialized) { return(false); } if (m_Channels.ContainsKey(channelName)) { ReportError("Already in channel: " + channelName); return(false); } if (string.IsNullOrEmpty(channelName)) { return(false); } ChatChannelListener channel = new ChatChannelListener(this, channelName); m_Channels[channelName] = channel; bool result = channel.Connect(anonymous); if (!result) { m_Channels.Remove(channelName); } return(result); }
/// <summary> /// Whether or not currently connected to the channel. /// </summary> public bool IsAnonymous(string channelName) { if (!m_Channels.ContainsKey(channelName)) { return(false); } ChatChannelListener channel = m_Channels[channelName]; return(channel.IsAnonymous); }
/// <summary> /// An iterator for the raw chat messages from oldest to newest. /// </summary> public LinkedList <ChatRawMessage> .Enumerator GetRawMessages(string channelName) { if (!m_Channels.ContainsKey(channelName)) { ReportError("Unknown channel: " + channelName); return(new LinkedList <ChatRawMessage>().GetEnumerator()); } ChatChannelListener channel = m_Channels[channelName]; return(channel.RawMessages); }
/// <summary> /// Clears the chat message history for the given user only. /// </summary> public virtual void ClearMessages(string channelName, string username) { if (!m_Channels.ContainsKey(channelName)) { ReportError("Not in channel: " + channelName); return; } ChatChannelListener channel = m_Channels[channelName]; channel.ClearMessages(username); }
/// <summary> /// Retrieves the badge data that can be used to render icons. /// </summary> public ChatBadgeData GetBadgeData(string channelName) { if (!m_Channels.ContainsKey(channelName)) { ReportError("Unknown channel: " + channelName); return(null); } ChatChannelListener channel = m_Channels[channelName]; return(channel.BadgeData); }
/// <summary> /// Sends a chat message to the channel. /// </summary> /// <param name="message">The message to send.</param> /// <returns>Whether or not the attempt was valid.</returns> public virtual bool SendChatMessage(string channelName, string message) { if (m_ChatState != ChatState.Initialized) { return(false); } if (!m_Channels.ContainsKey(channelName)) { ReportError("Not in channel: " + channelName); return(false); } ChatChannelListener channel = m_Channels[channelName]; return(channel.SendChatMessage(message)); }
/// <summary> /// Disconnects from the channel. The result of the attempt will be returned in a Disconnected event. /// </summary> /// <returns>Whether or not the disconnect attempt was valid.</returns> public virtual bool Disconnect(string channelName) { if (m_ChatState != ChatState.Initialized) { return(false); } if (!m_Channels.ContainsKey(channelName)) { ReportError("Not in channel: " + channelName); return(false); } ChatChannelListener channel = m_Channels[channelName]; return(channel.Disconnect()); }
protected virtual bool Connect(string channelName, bool anonymous) { if (m_ChatState != ChatState.Initialized) { return false; } if (m_Channels.ContainsKey(channelName)) { ReportError("Already in channel: " + channelName); return false; } if (string.IsNullOrEmpty(channelName)) { return false; } ChatChannelListener channel = new ChatChannelListener(this, channelName); m_Channels[channelName] = channel; bool result = channel.Connect(anonymous); if (!result) { m_Channels.Remove(channelName); } return result; }