Exemple #1
0
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var response = message.GetMessageAsType <CoreReadItemJsonResponse>();

            telnetServer.SendMessageToClient(telnetClient, $"\r\n{AnsiColors.purple}{response.CoreReadItemJsonEvent.ItemsJson.First().Id}{AnsiColors.reset}\r\n");
            telnetServer.SendMessageToClient(telnetClient, $"{AnsiColors.purpleB}{response.CoreReadItemJsonEvent.ItemsJson.First().JSON}{AnsiColors.reset}\r\n");
        }
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var graph = message.GetMessageAsType <CoreReadItemGraphResponse>();

            void displayGraph(List <ItemGraph> graphItems, int level = 0)
            {
                if (graphItems != null && graphItems.Count > 0)
                {
                    graphItems.ForEach(graphItem =>
                    {
                        var line = "\r\n" + new string(' ', level * 2) +
                                   $"{AnsiColors.purpleB}{graphItem.Name} ({graphItem.Id}){AnsiColors.reset}";
                        telnetServer.SendMessageToClient(telnetClient, line);
                        displayGraph(graphItem.Children, level + 1);
                    });
                }
            }

            displayGraph(new List <ItemGraph>()
            {
                graph.CoreReadItemGraphEvent.ItemGraph
            });
        }
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var tickEvent = message.GetMessageAsType <TickEvent>();

            telnetServer.SendMessageToClient(telnetClient, "\r\n"
                                             + $"{AnsiColors.yellow}+{AnsiColors.reset}");
        }
Exemple #4
0
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var arrivalEvent = message.GetMessageAsType <CoreMoveItemEvent>();
            var visible      = arrivalEvent.Item.GetProperty <VisibleItemProperty>("Visible");

            telnetServer.SendMessageToClient(telnetClient, "\r\n"
                                             + $"{AnsiColors.green}{visible?.Name} has moved{AnsiColors.reset}");
        }
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var locationResponse = message.GetMessageAsType <WorldReadLocationSummaryResponse>();

            telnetClient.ItemExits.Clear();
            // Send location name and description
            telnetServer.SendMessageToClient(telnetClient, "\r\n\r\n"
                                             + $"{AnsiColors.greenB}{locationResponse.Item.GetProperty<VisibleItemProperty>().Name}{AnsiColors.reset}\r\n"
                                             + locationResponse.Item.GetProperty <VisibleItemProperty>().Description + "\r\n");
            locationResponse.Adendums.ForEach(delegate(string adendum)
            {
                telnetServer.SendMessageToClient(telnetClient, " - " + adendum + "\r\n");
            });
            // Send location exits
            string exits = null;

            if (locationResponse.Exits.Count() > 0)
            {
                locationResponse.Exits.ForEach(ioExitUpdate =>
                {
                    telnetClient.ItemExits.Add(ioExitUpdate);
                    var exit     = ioExitUpdate.Item;
                    var commands = "";
                    exit.GetProperty <CommandItemProperty>().Commands.ForEach(use => {
                        commands += (commands == "") ? $"{use.Name}" : $"|{use.Name}";
                    });
                    exits  = (exits == null) ? "" : $"{exits}, ";
                    exits += $"{AnsiColors.purpleB}{exit.GetProperty<VisibleItemProperty>().Name} [{commands}]{AnsiColors.reset}";
                });
            }
            else
            {
                exits = "None";
            }
            telnetServer.SendMessageToClient(telnetClient, $" - Exits: {exits}");
        }
        /// <summary>
        /// Translate structured data from the environment to pure text
        /// </summary>
        /// <param name="message">Message from the environment</param>
        /// <param name="telnetServer"></param>
        /// <param name="telnetClient"></param>
        public void Translate(
            IMessage message,
            TelnetServer telnetServer,
            TelnetClient telnetClient)
        {
            var emoteEvent = message.GetMessageAsType <WorldEmoteEvent>();
            var emote      = "";
            var itemName   = emoteEvent.Origin.GetProperty <VisibleItemProperty>()?.Name ?? "** Something **";

            emote = emoteEvent.EmoteType == WorldEmoteType.Smile ? $"{itemName} smiles happily" : emote;
            emote = emoteEvent.EmoteType == WorldEmoteType.Frown ? $"{itemName} frowns" : emote;
            telnetServer.SendMessageToClient(telnetClient, "\r\n"
                                             + $"{AnsiColors.whiteB}{emote}{AnsiColors.reset}");
        }