aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ShiftOS.WinForms/Controls/TerminalBox.cs10
-rw-r--r--ShiftOS.WinForms/Tools/ControlManager.cs42
-rw-r--r--ShiftOS_TheReturn/ConsoleEx.cs28
-rw-r--r--ShiftOS_TheReturn/ServerManager.cs2
-rw-r--r--ShiftOS_TheReturn/ShiftOS.Engine.csproj1
5 files changed, 83 insertions, 0 deletions
diff --git a/ShiftOS.WinForms/Controls/TerminalBox.cs b/ShiftOS.WinForms/Controls/TerminalBox.cs
index b75d077..7c0da57 100644
--- a/ShiftOS.WinForms/Controls/TerminalBox.cs
+++ b/ShiftOS.WinForms/Controls/TerminalBox.cs
@@ -26,9 +26,11 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using ShiftOS.Engine;
+using ShiftOS.WinForms.Tools;
namespace ShiftOS.WinForms.Controls
{
@@ -53,13 +55,21 @@ namespace ShiftOS.WinForms.Controls
public void Write(string text)
{
this.HideSelection = true;
+ this.Select(this.TextLength, 0);
+ this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor);
+ this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor);
this.AppendText(Localization.Parse(text));
this.HideSelection = false;
}
public void WriteLine(string text)
{
+ this.HideSelection = true;
+ this.Select(this.TextLength, 0);
+ this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor);
+ this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor);
this.AppendText(Localization.Parse(text) + Environment.NewLine);
+ this.HideSelection = false;
}
bool quickCopying = false;
diff --git a/ShiftOS.WinForms/Tools/ControlManager.cs b/ShiftOS.WinForms/Tools/ControlManager.cs
index 5cc4813..52663d7 100644
--- a/ShiftOS.WinForms/Tools/ControlManager.cs
+++ b/ShiftOS.WinForms/Tools/ControlManager.cs
@@ -152,6 +152,48 @@ namespace ShiftOS.WinForms.Tools
}
}
+ internal static Color ConvertColor(ConsoleColor cCol)
+ {
+ switch (cCol)
+ {
+ case ConsoleColor.Black:
+ return Color.Black;
+ case ConsoleColor.Gray:
+ return Color.Gray;
+ case ConsoleColor.DarkGray:
+ return Color.DarkGray;
+ case ConsoleColor.Blue:
+ return Color.Blue;
+ case ConsoleColor.Cyan:
+ return Color.Cyan;
+ case ConsoleColor.DarkBlue:
+ return Color.DarkBlue;
+ case ConsoleColor.DarkCyan:
+ return Color.DarkCyan;
+ case ConsoleColor.DarkGreen:
+ return Color.DarkGreen;
+ case ConsoleColor.DarkMagenta:
+ return Color.DarkMagenta;
+ case ConsoleColor.DarkRed:
+ return Color.DarkRed;
+ case ConsoleColor.DarkYellow:
+ return Color.YellowGreen;
+ case ConsoleColor.Yellow:
+ return Color.Yellow;
+ case ConsoleColor.Green:
+ return Color.Green;
+ case ConsoleColor.Magenta:
+ return Color.Magenta;
+ case ConsoleColor.Red:
+ return Color.Red;
+ case ConsoleColor.White:
+ return Color.White;
+ default:
+ return Color.Black;
+ }
+
+ }
+
public static void SetCursor(Control ctrl)
{
#if STUPID
diff --git a/ShiftOS_TheReturn/ConsoleEx.cs b/ShiftOS_TheReturn/ConsoleEx.cs
new file mode 100644
index 0000000..69f6a18
--- /dev/null
+++ b/ShiftOS_TheReturn/ConsoleEx.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ShiftOS.Engine
+{
+ public static class ConsoleEx
+ {
+ static ConsoleEx()
+ {
+ ForegroundColor = ConsoleColor.White;
+ BackgroundColor = ConsoleColor.Black;
+
+ Bold = false;
+ Italic = false;
+ Underline = false;
+ }
+
+ public static ConsoleColor ForegroundColor { get; set; }
+ public static ConsoleColor BackgroundColor { get; set; }
+
+ public static bool Bold { get; set; }
+ public static bool Italic { get; set; }
+ public static bool Underline { get; set; }
+ }
+}
diff --git a/ShiftOS_TheReturn/ServerManager.cs b/ShiftOS_TheReturn/ServerManager.cs
index a121ab6..7da09f1 100644
--- a/ShiftOS_TheReturn/ServerManager.cs
+++ b/ShiftOS_TheReturn/ServerManager.cs
@@ -154,7 +154,9 @@ namespace ShiftOS.Engine
{
var ex = JsonConvert.DeserializeObject<Exception>(msg.Contents);
TerminalBackend.PrefixEnabled = true;
+ ConsoleEx.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine($@"{{MUD_ERROR}}: {ex.Message}");
+ ConsoleEx.ForegroundColor = ConsoleColor.White;
TerminalBackend.PrefixEnabled = true;
Console.Write($"{SaveSystem.CurrentSave.Username}@{CurrentSave.SystemName}:~$ ");
}
diff --git a/ShiftOS_TheReturn/ShiftOS.Engine.csproj b/ShiftOS_TheReturn/ShiftOS.Engine.csproj
index 20ca879..00d828f 100644
--- a/ShiftOS_TheReturn/ShiftOS.Engine.csproj
+++ b/ShiftOS_TheReturn/ShiftOS.Engine.csproj
@@ -99,6 +99,7 @@
<Compile Include="AudioManager.cs" />
<Compile Include="Commands.cs" />
<Compile Include="Command.cs" />
+ <Compile Include="ConsoleEx.cs" />
<Compile Include="CrashHandler.cs" />
<Compile Include="CrashHandler.Designer.cs">
<DependentUpon>CrashHandler.cs</DependentUpon>