/// <summary> /// Allows the user to send chat messages, commands, and to leave the server. /// </summary> private void CommandPrompt() { try { string text = ""; Thread.Sleep(500); handler.SendRespawnPacket(); while (client.Client.Connected) { text = ConsoleIO.ReadLine(); if (ConsoleIO.BasicIO && text.Length > 0 && text[0] == (char)0x00) { //Process a request from the GUI string[] command = text.Substring(1).Split((char)0x00); switch (command[0].ToLower()) { case "autocomplete": if (command.Length > 1) { ConsoleIO.WriteLine((char)0x00 + "autocomplete" + (char)0x00 + handler.AutoComplete(command[1])); } else { Console.WriteLine((char)0x00 + "autocomplete" + (char)0x00); } break; } } else { text = text.Trim(); if (text.Length > 0) { if (Settings.internalCmdChar == ' ' || text[0] == Settings.internalCmdChar) { string response_msg = ""; string command = Settings.internalCmdChar == ' ' ? text : text.Substring(1); if (!PerformInternalCommand(Settings.ExpandVars(command), ref response_msg) && Settings.internalCmdChar == '/') { SendText(text); } else if (response_msg.Length > 0) { ConsoleIO.WriteLineFormatted("§8MCC: " + response_msg); } } else { SendText(text); } } } } } catch (IOException) { } catch (NullReferenceException) { } }
private static void ConsoleInputHandler() { try { while (true) { string text = ConsoleIO.ReadLine(); if (text.Length > 0 && text[0] == (char)0x00) { //Process a request from the GUI string[] command = text.Substring(1).Split((char)0x00); switch (command[0].ToLower()) { //case "autocomplete": // if (command.Length > 1) { ConsoleIO.WriteLine((char)0x00 + "autocomplete" + (char)0x00 + handler.AutoComplete(command[1])); } // else Console.WriteLine((char)0x00 + "autocomplete" + (char)0x00); // break; } } else { text = text.Trim(); if (text.Length > 0) { if (Settings.internalCmdChar == ' ' || text[0] == Settings.internalCmdChar) { string command = Settings.internalCmdChar == ' ' ? text : text.Substring(1); CommandHandler commandHandler = Program.CommandHandler; if (!commandHandler.runCommand(command) && Settings.internalCmdChar == '/') { //SendText(text); } } //else SendText(text); } } } } catch (IOException) { } catch (NullReferenceException) { } }