Began work on the tools command processing.

This commit is contained in:
2020-05-26 14:47:20 -05:00
parent 065e6d878f
commit d149e12433
6 changed files with 148 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
namespace SlatedGameToolkit.Tools.System
{
public interface IInvocable
{
/// <summary>
/// Invokers are the strings that should invoke this command.
/// This should not conflict with any other commands invokers.
/// </summary>
/// <returns>A list of the strings that will invoke this invokable.</returns>
string[] GetInvokers();
/// <summary>
/// The help should be a description of how to properly use this invokable.
/// If an argument is specified, the help should cater to that specific argument.
/// </summary>
/// <param name="arg">An argument this invokable should describe. May be null, to which should return a string that describes this invokable in general.</param>
/// <returns></returns>
string getHelp(string arg);
/// <summary>
/// Executes this invokable.
/// </summary>
/// <param name="args">The arguments that followed the invokable.</param>
/// <returns>True if the invokable was successful, false otherwise to display a generic help message.</returns>
bool Execute(string[] args);
}
}