diff --git a/Assets/Scripts/Console/DebugConsole.cs b/Assets/Scripts/Console/DebugConsole.cs
index 209f45a..6b7aa42 100644
--- a/Assets/Scripts/Console/DebugConsole.cs
+++ b/Assets/Scripts/Console/DebugConsole.cs
@@ -41,21 +41,17 @@ namespace Cyber.Console {
public int RowLength = 80;
///
- /// The linecount threshold when the is cleaned
- /// up so it has lines left.
+ /// How many lines are included in the when
+ /// the total amount of lines exceeds this.
///
- public int MaxLinesUntilCleanup = 48;
-
- ///
- /// See .
- ///
- public int LineCountSavedFromCleanup = 24;
+ public int LinesRendered = 15;
private Dictionary Actions = new Dictionary();
private List Lines = new List();
private List Commands = new List();
private int LastCommandIndex = 0;
private string LastUnexecutedCommand = "";
+ private int ScrollOffset = 1;
///
/// Creates a new , and sets the 's singleton.
@@ -128,7 +124,6 @@ namespace Cyber.Console {
///
/// Text.
public void Print(string text) {
-
// Wrap lines and log them to Lines
int Index = 0;
int EscapeIndex = 0;
@@ -143,16 +138,19 @@ namespace Cyber.Console {
TextField.text += Line + "\n";
EscapeIndex++;
} while (Index < text.Length && EscapeIndex < 10);
- if (Lines.Count > MaxLinesUntilCleanup) {
- // The print history is too long, clear up until there are only
- // a small amount left (so the user doesn't notice the cleanup)
- string NewLog = "";
- Lines.RemoveRange(0, Lines.Count - LineCountSavedFromCleanup);
- foreach (string Line in Lines) {
- NewLog += Line + "\n";
+ UpdateTextField();
+ }
+
+ private void UpdateTextField() {
+ string NewLog = "";
+ int LineAmt = Mathf.Min(LinesRendered, Lines.Count);
+ for (int i = 0; i < LineAmt; i++) {
+ int Index = Lines.Count - (i + ScrollOffset);
+ if (Index >= 0 && Index < Lines.Count) {
+ NewLog += Lines[i] + "\n";
}
- TextField.text = NewLog;
}
+ TextField.text = NewLog;
}
private void Start() {
@@ -229,6 +227,14 @@ namespace Cyber.Console {
InputField.text = LastUnexecutedCommand;
}
}
+ if (Input.GetAxis("Mouse ScrollWheel") > 0 && ScrollOffset + 1 <= Lines.Count) {
+ ScrollOffset++;
+ UpdateTextField();
+ }
+ if (Input.GetAxis("Mouse ScrollWheel") < 0 && ScrollOffset - 1 > 1) {
+ ScrollOffset--;
+ UpdateTextField();
+ }
// Slide up/down animation
RectTransform Rect = Panel.GetComponent();