39 lines
1003 B
C#
39 lines
1003 B
C#
|
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; }
|
|||
|
}
|
|||
|
}
|