public static string ToHtml(this IOpenRCT2String str)
        {
            var sb          = new StringBuilder();
            var htmlWriter  = new StringWriter(sb);
            var htmlEncoder = HtmlEncoder.Default;

            WriteColourSpanOpen(htmlWriter, (char)144);

            char[] charArray = str.Raw.ToCharArray();
            for (int i = 0; i < charArray.Length; i++)
            {
                char c = charArray[i];
                if (OpenRCT2String.IsFormatCode(c))
                {
                    if (OpenRCT2String.IsColourCode(c))
                    {
                        WriteSpanClose(htmlWriter);
                        WriteColourSpanOpen(htmlWriter, c);
                    }
                }
                else
                {
                    htmlEncoder.Encode(htmlWriter, charArray, i, 1);
                }
            }
            WriteSpanClose(htmlWriter);
            return(sb.ToString());
        }
Beispiel #2
0
        private async Task OnReceiveMessage(string message)
        {
            var jsonMessage = JsonConvert.DeserializeObject <JsonMessage>(message);

            switch (jsonMessage.type)
            {
            case "connect":
                string server;
                int    port;

                if (TryParseHost(jsonMessage.host, out server, out port))
                {
                    if (!await Connect(server, port, jsonMessage.userName, jsonMessage.password))
                    {
                        _shouldClose = true;
                    }
                }
                else
                {
                    await SendError("Unable to connect to server.");

                    _shouldClose = true;
                }
                break;

            case "chat":
                IOpenRCT2String openRCT2string = new OpenRCT2String(jsonMessage.text);
                _gameClient.SendChat(openRCT2string);
                break;
            }
        }
Beispiel #3
0
        private void HandleChat(BinaryReader br)
        {
            string          chatMessage    = br.ReadUTF8();
            IOpenRCT2String openRCT2string = new OpenRCT2String(chatMessage);

            RaiseEvent(ChatMessageReceived, openRCT2string);
        }