using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace SharedLibraryCore.Interfaces
{
///
/// defines capabilities of script command factory
///
public interface IScriptCommandFactory
{
///
/// generate a new script command from parsed source
///
/// name of command
/// alias of command
/// description of command
/// minimum required permission
/// target required or not
/// command arguments (name, is required)
/// action to peform when commmand is executed
///
///
IManagerCommand CreateScriptCommand(string name, string alias, string description, string permission,
bool isTargetRequired, IEnumerable<(string, bool)> args, Func executeAction,
Server.Game[] supportedGames);
}
}