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); } }