/// <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}"); }
/// <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}"); }