start work to allow customizing command properties via configuration

This commit is contained in:
RaidMax
2020-01-26 18:06:50 -06:00
parent e6bdcc9012
commit 11ae91281f
16 changed files with 1061 additions and 587 deletions

View File

@ -0,0 +1,38 @@
using System.Threading.Tasks;
using static SharedLibraryCore.Database.Models.EFClient;
namespace SharedLibraryCore.Interfaces
{
/// <summary>
/// Defines the basic properties of a command
/// </summary>
public interface IManagerCommand
{
/// <summary>
/// Executes the command
/// </summary>
/// <param name="gameEvent">event corresponding to the command</param>
/// <returns></returns>
Task ExecuteAsync(GameEvent gameEvent);
/// <summary>
/// Name of the command
/// </summary>
string Name { get; }
/// <summary>
/// Description of the command
/// </summary>
string Description { get; }
/// <summary>
/// Alternative name of the command
/// </summary>
string Alias { get; }
/// <summary>
/// Minimum permission required to execute the command
/// </summary>
Permission Permission { get; }
}
}

View File

@ -0,0 +1,15 @@
namespace SharedLibraryCore.Interfaces
{
/// <summary>
/// Defines the translation lookup capabilities for DI
/// </summary>
public interface ITranslationLookup
{
/// <summary>
/// Allows indexing
/// </summary>
/// <param name="key">translation lookup key</param>
/// <returns></returns>
string this[string key] { get; }
}
}