/// <summary> /// Prints a message received from a client to the console/standard output. /// </summary> /// <param name="printMessageType">The message colour/type to print.</param> /// <param name="asciiMessage">The character array of ASCII bytes to parse back to string. (MessageStruct.Data)</param> /// <param name="socket">Sends a message back to signify that the message has successfully printed.</param> public static void Print(PrintMessageType printMessageType, byte[] asciiMessage, ReloadedSocket socket) { // Retrieve the message to print. string messageToPrint = Encoding.ASCII.GetString(asciiMessage); // Print to screen. switch (printMessageType) { case PrintMessageType.PrintText: ConsoleFunctions.PrintMessageWithTime(messageToPrint, ConsoleFunctions.PrintMessage); break; case PrintMessageType.PrintInfo: ConsoleFunctions.PrintMessageWithTime(messageToPrint, ConsoleFunctions.PrintInfoMessage); break; case PrintMessageType.PrintWarning: ConsoleFunctions.PrintMessageWithTime(messageToPrint, ConsoleFunctions.PrintWarningMessage); break; case PrintMessageType.PrintError: ConsoleFunctions.PrintMessageWithTime(messageToPrint, ConsoleFunctions.PrintErrorMessage); break; } }
/// <summary> /// Prints a message received from a client to the console/standard output. /// </summary> /// <param name="printMessageType">The message colour/type to print.</param> /// <param name="asciiMessage">The character array of Unicode bytes to parse back to string. (MessageStruct.Data)</param> public static void PrintUnicode(PrintMessageType printMessageType, byte[] asciiMessage) { // Retrieve the message to print. string messageToPrint = Encoding.Unicode.GetString(asciiMessage); PrintMessageTypeMethod(printMessageType, messageToPrint); }
/// <summary> /// Switches on the specific message type to print and outputs it to the screen. /// </summary> /// <param name="printMessageType"></param> /// <param name="message"></param> public static void PrintMessageTypeMethod(PrintMessageType printMessageType, string message) { // Print to screen. switch (printMessageType) { case PrintMessageType.PrintText: Bindings.PrintText(message); break; case PrintMessageType.PrintInfo: Bindings.PrintInfo(message); break; case PrintMessageType.PrintWarning: Bindings.PrintWarning(message); break; case PrintMessageType.PrintError: Bindings.PrintError(message); break; } }
/// <summary> /// Sends a message to the mod loader server to print /// a message to standard output with a user defined style. /// </summary> /// <param name="message">The text to print to the console.</param> /// <param name="printMessageType">The style of text to be printed to the screen.</param> public static void Print(string message, PrintMessageType printMessageType) { // Get string to print as bytes. byte[] bytesToSend = Encoding.ASCII.GetBytes(message); // Build a Server Message with text to print. // The style of the message is user-set. Message.MessageStruct clientMessage = new Message.MessageStruct((ushort)MessageTypes.MessageType.PrintText, bytesToSend); // Switch message type if necessary. switch (printMessageType) { case PrintMessageType.PrintInfo: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintInfo; break; case PrintMessageType.PrintError: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintError; break; case PrintMessageType.PrintWarning: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintWarning; break; } // Send the message. ServerClient.ClientSocket.SendData(clientMessage, false); }
/// <summary> /// Sends a message to the mod loader server to print /// a message to standard output with a user defined style. /// </summary> /// <param name="message">The text to print to the console.</param> /// <param name="printMessageType">The style of text to be printed to the screen.</param> public static void Print(string message, PrintMessageType printMessageType) { // Get string to print as bytes. byte[] bytesToSend = Encoding.Unicode.GetBytes(message); // Build a Server Message with text to print. // The style of the message is user-set. Message clientMessage = new Message((ushort)MessageTypes.MessageType.PrintTextUnicode, bytesToSend); // Switch message type if necessary. switch (printMessageType) { case PrintMessageType.PrintInfo: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintInfoUnicode; break; case PrintMessageType.PrintError: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintErrorUnicode; break; case PrintMessageType.PrintWarning: clientMessage.MessageType = (ushort)MessageTypes.MessageType.PrintWarningUnicode; break; } // Send the message. ReloadedClient.GetFirstPeer()?.Send(clientMessage.GetBytes(), SendOptions.ReliableOrdered); }