Reworked RecrownedGTK tools.

This commit is contained in:
2020-05-18 16:44:25 -05:00
parent 635ed9fb7d
commit ef806b8174
27 changed files with 147 additions and 356 deletions

View File

@@ -4,14 +4,14 @@ namespace RecrownedGTK.Tools.CommandProcessor.Commands
{
public class ClearConsoleCommand : EngineCommand
{
public ClearConsoleCommand() : base("clear")
public ClearConsoleCommand() : base("Clears the console.", "clear")
{
help = "Clears the console.";
}
public override void Run(IUserInput userInput, IUserOutput userOutput, string[] arguments = null)
public override bool Run(IUserInput userInput, IUserOutput userOutput, string[] arguments = null)
{
userOutput.ClearOutput();
return true;
}
}
}

View File

@@ -6,49 +6,49 @@ namespace RecrownedGTK.Tools.CommandProcessor.Commands
{
CommandEngine commandEngine;
public HelpCommand(CommandEngine commandEngine) : base("help")
public HelpCommand(CommandEngine commandEngine) : base("help [command] [arg]", "help")
{
this.commandEngine = commandEngine;
help = "help [command] [arg]";
}
public override void Run(IUserInput userInput, IUserOutput userOutput, string[] arguments)
public override bool Run(IUserInput userInput, IUserOutput userOutput, string[] arguments)
{
if (arguments != null)
{
if (commandEngine.ContainsCommand(arguments[0]))
{
if (arguments.Length < 2) userOutput.WrappedOutput(commandEngine.GetCommand(arguments[0]).Help(null));
if (arguments.Length < 2) userOutput.WriteLine(commandEngine.GetCommand(arguments[0]).Help(null));
for (int i = 1; i < arguments.Length; i++)
{
userOutput.WrappedOutput(commandEngine.GetCommand(arguments[0]).Help(arguments[i]));
userOutput.WriteLine(commandEngine.GetCommand(arguments[0]).Help(arguments[i]));
}
}
else
{
throw new ArgumentException(arguments[0] + " not a command. Type \"help\" for a list of commands.");
return false;
}
}
else
{
userOutput.WrappedOutput("Tools for RecrownedGTK library. Possible commands are as follows:\n");
userOutput.WriteLine("Tools for RecrownedGTK library. Possible commands are as follows:\n");
foreach (EngineCommand engineCommand in commandEngine.commands)
{
for (int i = 0; i < engineCommand.InvokeStrings.Length; i++)
{
userOutput.WrappedOutput(engineCommand.InvokeStrings[i]);
userOutput.Write(engineCommand.InvokeStrings[i]);
if (i + 1 < engineCommand.InvokeStrings.Length)
{
userOutput.WrappedOutput(", ");
userOutput.Write(", ");
}
}
userOutput.WrappedOutput(" : ");
userOutput.WrappedOutput(engineCommand.Help().Replace("\n", "\n\t"));
userOutput.WrappedOutput("\n");
userOutput.Output("--------");
userOutput.Write(": ");
userOutput.Write(engineCommand.Help());
userOutput.Write("\n");
userOutput.WriteLine("--------");
}
}
return true;
}
}
}

View File

@@ -4,15 +4,15 @@
{
CommandEngine commandEngine;
public StopCommand(CommandEngine commandEngine) : base("quit", "stop", "q", "exit")
public StopCommand(CommandEngine commandEngine) : base("Exits the tool.", "quit", "stop", "q", "exit")
{
this.commandEngine = commandEngine;
help = "Exits the tool.";
}
public override void Run(IUserInput userInput, IUserOutput userOutput, string[] arguments = null)
public override bool Run(IUserInput userInput, IUserOutput userOutput, string[] arguments = null)
{
commandEngine.running = false;
return true;
}
}
}