void ExecuteBuffer() { if (Buffer.Output.Length == 0) { return; } var output = commandProcesser.Process(Buffer.Output).Split('\n').Where(l => l != ""); Out.Add(new OutputLine(Buffer.Output, OutputLineType.Command)); foreach (var line in output) { Out.Add(new OutputLine(line, OutputLineType.Output)); } CommandHistory.Add(Buffer.Output); Buffer.Output = ""; }
void EventInput_KeyDown(object sender, KeyEventArgs e) { if (Keyboard.GetState().IsKeyDown(Keys.V) && Keyboard.GetState().IsKeyDown(Keys.LeftControl)) // CTRL + V { if (Thread.CurrentThread.GetApartmentState() == ApartmentState.STA) //Thread Apartment must be in Single-Threaded for the Clipboard to work { AddToBuffer(Clipboard.GetText()); } } if (e.KeyCode == GameConsoleOptions.Options.ToggleKey) { ToggleConsole(); isHandled = true; } switch (e.KeyCode) { case Keys.Up: Buffer.Output = CommandHistory.Previous(); break; case Keys.Down: Buffer.Output = CommandHistory.Next(); break; } }