Пример #1
0
    string ChatMessageToRichTextLine(RobotChatMessage message)

    {
        string richText          = "";
        string nonRichTextString = Regex.Replace(message.message, "<.*?>", string.Empty);
        string color             = normalChatMessageColor;

        //Check to see if message is a command.
        if (message.isCommand)
        {
            color = commandColor;
        }

        if (message.isExecuting)
        {
            color = executingCommandColor;
        }

        var isAction = message.message.StartsWith(chatActionPrefix) && message.message.EndsWith(chatActionPostfix);

        chatUsernameColor = trackUsers(message.user);
        //Debug.Log("User Color: " + chatUsernameColor);
        richText += "<color=#" + chatUsernameColor + ">";
        richText += message.user;
        richText += isAction ? " " : ": ";
        richText += "</color>";

        richText += "<color=#" + color + ">";

        if (isAction)
        {
            richText += nonRichTextString.Substring(chatActionPrefix.Length, nonRichTextString.Length - chatActionPrefix.Length - 1);
        }
        else
        {
            richText += nonRichTextString;
        }

        richText += "</color>";
        richText += "\n";

        return(richText);
    }
Пример #2
0
    public IList <RobotChatMessage> GetChatMessages()
    {
        var copyOfChatMessages = new List <RobotChatMessage>();

        //Note to self, Lock ensures that chatmessages cannot be updated by a separate thread while being
        //executed by another thread.
        lock (chatMessagesLock)
        {
            foreach (var message in Constants.roboStuff.chatMessages)
            {
                var chatMessage = new RobotChatMessage();
                chatMessage.user        = message.user;
                chatMessage.message     = message.message;
                chatMessage.isCommand   = message.isCommand;
                chatMessage.isExecuting = message.isExecuting;

                copyOfChatMessages.Add(chatMessage);
            }
        }

        return(copyOfChatMessages);
    }