public void Write(string text) { Thread.Sleep(5); this.HideSelection = true; this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor); this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor); this.SelectionFont = ConstructFont(); this.AppendText(Localization.Parse(text)); this.HideSelection = false; }
public void OnSkinLoad() { try { rtbterm.Font = LoadedSkin.TerminalFont; rtbterm.ForeColor = ControlManager.ConvertColor(LoadedSkin.TerminalForeColorCC); rtbterm.BackColor = ControlManager.ConvertColor(LoadedSkin.TerminalBackColorCC); } catch { } }
public void WriteLine(string text) { Thread.Sleep(5); Engine.AudioManager.PlayStream(Properties.Resources.writesound); this.HideSelection = true; this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor); this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor); this.SelectionFont = ConstructFont(); this.Select(this.TextLength, 0); this.AppendText(Localization.Parse(text) + Environment.NewLine); this.HideSelection = false; }
public void ConstructHtml(string markdown) { CurrentMD = markdown; var TerminalForeColor = ControlManager.ConvertColor(SkinEngine.LoadedSkin.TerminalForeColorCC); var TerminalBackColor = ControlManager.ConvertColor(SkinEngine.LoadedSkin.TerminalBackColorCC); string html = $@"<html> <head> <style> body {{ background-color: rgb({LoadedSkin.ControlColor.R}, {LoadedSkin.ControlColor.G}, {LoadedSkin.ControlColor.B}); color: rgb({LoadedSkin.ControlTextColor.R}, {LoadedSkin.ControlTextColor.G}, {LoadedSkin.ControlTextColor.B}); font-family: ""{LoadedSkin.MainFont.Name}""; font-size: {LoadedSkin.MainFont.SizeInPoints}pt; }} h1 {{ font-family: ""{LoadedSkin.HeaderFont.Name}""; font-size: {LoadedSkin.HeaderFont.SizeInPoints}pt; }} h2 {{ font-family: ""{LoadedSkin.Header2Font.Name}""; font-size: {LoadedSkin.Header2Font.SizeInPoints}pt; }} h3 {{ font-family: ""{LoadedSkin.Header3Font.Name}""; font-size: {LoadedSkin.Header3Font.SizeInPoints}pt; }} pre, code {{ font-family: ""{LoadedSkin.TerminalFont.Name}""; font-size: {LoadedSkin.TerminalFont.SizeInPoints}pt; color: rgb({TerminalForeColor.R}, {TerminalForeColor.G}, {TerminalForeColor.B}); background-color: rgb({TerminalBackColor.R}, {TerminalBackColor.G}, {TerminalBackColor.B}); }} </style> </head> <body> <markdown/> </body> </html>"; string body = CommonMark.CommonMarkConverter.Convert(markdown); html = html.Replace("<markdown/>", body); wbstatus.DocumentText = html; }
public static void MakeWidget(Controls.TerminalBox txt) { AppearanceManager.StartConsoleOut(); txt.GotFocus += (o, a) => { AppearanceManager.ConsoleOut = txt; }; txt.KeyDown += (o, a) => { if (a.Control == true || a.Alt == true) { a.SuppressKeyPress = true; return; } if (a.KeyCode == Keys.Enter) { try { if (!TerminalBackend.InStory) { a.SuppressKeyPress = false; } if (!TerminalBackend.PrefixEnabled) { string textraw = txt.Lines[txt.Lines.Length - 1]; TextSent?.Invoke(textraw); TerminalBackend.SendText(textraw); return; } var text = txt.Lines.ToArray(); var text2 = text[text.Length - 1]; var text3 = ""; txt.AppendText(Environment.NewLine); var text4 = Regex.Replace(text2, @"\t|\n|\r", ""); if (IsInRemoteSystem == true) { ServerManager.SendMessage("trm_invcmd", JsonConvert.SerializeObject(new { guid = RemoteGuid, command = text4 })); } else { if (TerminalBackend.PrefixEnabled) { text3 = text4.Remove(0, $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ".Length); } TerminalBackend.LastCommand = text3; TextSent?.Invoke(text4); TerminalBackend.SendText(text4); if (TerminalBackend.InStory == false) { if (text3 == "stop theme") { CurrentCommandParser.parser = null; } else { var result = SkinEngine.LoadedSkin.CurrentParser.ParseCommand(text3); if (result.Equals(default(KeyValuePair <string, Dictionary <string, string> >))) { Console.WriteLine("{ERR_SYNTAXERROR}"); } else { TerminalBackend.InvokeCommand(result.Key, result.Value); } } } if (TerminalBackend.PrefixEnabled) { TerminalBackend.PrintPrompt(); } } } catch { } } else if (a.KeyCode == Keys.Back) { try { var tostring3 = txt.Lines[txt.Lines.Length - 1]; var tostringlen = tostring3.Length + 1; var workaround = $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ "; var derp = workaround.Length + 1; if (tostringlen != derp) { AppearanceManager.CurrentPosition--; } else { a.SuppressKeyPress = true; } } catch { Debug.WriteLine("Drunky alert in terminal."); } } else if (a.KeyCode == Keys.Left) { if (SaveSystem.CurrentSave != null) { var getstring = txt.Lines[txt.Lines.Length - 1]; var stringlen = getstring.Length + 1; var header = $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ "; var headerlen = header.Length + 1; var selstart = txt.SelectionStart; var remstrlen = txt.TextLength - stringlen; var finalnum = selstart - remstrlen; if (finalnum != headerlen) { AppearanceManager.CurrentPosition--; } else { a.SuppressKeyPress = true; } } } else if (a.KeyCode == Keys.Up) { var tostring3 = txt.Lines[txt.Lines.Length - 1]; if (tostring3 == $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ") { Console.Write(TerminalBackend.LastCommand); } ConsoleEx.OnFlush?.Invoke(); a.SuppressKeyPress = true; } else { if (TerminalBackend.InStory) { a.SuppressKeyPress = true; } AppearanceManager.CurrentPosition++; } }; AppearanceManager.ConsoleOut = txt; txt.Focus(); txt.Font = LoadedSkin.TerminalFont; txt.ForeColor = ControlManager.ConvertColor(LoadedSkin.TerminalForeColorCC); txt.BackColor = ControlManager.ConvertColor(LoadedSkin.TerminalBackColorCC); }