Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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));
        }
Пример #7
0
        /// <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());
        }
Пример #8
0
        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;
        }