console notify box
This commit is contained in:
@@ -6,6 +6,21 @@ using System.Reflection;
|
||||
|
||||
namespace Cabrito
|
||||
{
|
||||
public class ConsoleLine
|
||||
{
|
||||
public string content;
|
||||
|
||||
internal ConsoleLine(string line)
|
||||
{
|
||||
content = line;
|
||||
}
|
||||
|
||||
public static implicit operator string(ConsoleLine line) => line.content;
|
||||
public static explicit operator ConsoleLine(string line) => new ConsoleLine(line);
|
||||
|
||||
public override string ToString() => content.ToString();
|
||||
}
|
||||
|
||||
public static class Console
|
||||
{
|
||||
private static ConsoleScriptBase scriptInstance = null;
|
||||
@@ -28,7 +43,8 @@ namespace Cabrito
|
||||
public static string LinePrefix { get; internal set; } = "]";
|
||||
|
||||
|
||||
private static List<string> consoleLines = new List<string>();
|
||||
//private static List<string> consoleLines = new List<string>();
|
||||
private static List<ConsoleLine> consoleLines = new List<ConsoleLine>();
|
||||
private static Dictionary<string, ConsoleCommand> consoleCommands = new Dictionary<string, ConsoleCommand>();
|
||||
private static Dictionary<string, ConsoleVariable> consoleVariables = new Dictionary<string, ConsoleVariable>();
|
||||
|
||||
@@ -166,8 +182,8 @@ namespace Cabrito
|
||||
OnOpen += instance.OnConsoleOpen;
|
||||
OnClose += instance.OnConsoleClose;
|
||||
|
||||
foreach (var line in consoleLines)
|
||||
scriptInstance.AddLine(line);
|
||||
//foreach (var line in consoleLines)
|
||||
// scriptInstance.OnLineAdded(line);
|
||||
}
|
||||
|
||||
/// Unregister already registered Console script.
|
||||
@@ -183,7 +199,7 @@ namespace Cabrito
|
||||
OnClose -= instance.OnConsoleClose;
|
||||
}
|
||||
|
||||
public static IReadOnlyCollection<string> Lines
|
||||
public static IReadOnlyCollection<ConsoleLine> Lines
|
||||
{
|
||||
get => consoleLines.AsReadOnly();
|
||||
}
|
||||
@@ -191,29 +207,33 @@ namespace Cabrito
|
||||
// Echoes text to Console.
|
||||
public static void Print(string text)
|
||||
{
|
||||
consoleLines.Add(text);
|
||||
scriptInstance?.AddLine(text);
|
||||
ConsoleLine line = new ConsoleLine(text);
|
||||
consoleLines.Add(line);
|
||||
scriptInstance?.OnLineAdded(text);
|
||||
}
|
||||
|
||||
// Echoes warning text to Console.
|
||||
public static void PrintWarning(string text)
|
||||
{
|
||||
consoleLines.Add(text);
|
||||
scriptInstance?.AddLine(text);
|
||||
ConsoleLine line = new ConsoleLine(text);
|
||||
consoleLines.Add(line);
|
||||
scriptInstance?.OnLineAdded(text);
|
||||
}
|
||||
|
||||
// Echoes error text to Console.
|
||||
public static void PrintError(string text)
|
||||
{
|
||||
consoleLines.Add(text);
|
||||
scriptInstance?.AddLine(text);
|
||||
ConsoleLine line = new ConsoleLine(text);
|
||||
consoleLines.Add(line);
|
||||
scriptInstance?.OnLineAdded(text);
|
||||
}
|
||||
|
||||
// Echoes developer/debug text to Console.
|
||||
public static void PrintDebug(string text)
|
||||
{
|
||||
consoleLines.Add(text);
|
||||
scriptInstance?.AddLine(text);
|
||||
ConsoleLine line = new ConsoleLine(text);
|
||||
consoleLines.Add(line);
|
||||
scriptInstance?.OnLineAdded(text);
|
||||
}
|
||||
|
||||
// Opens the Console.
|
||||
|
||||
Reference in New Issue
Block a user