using System; using System.Collections.Generic; using System.Threading.Tasks; using Data.Models; using SharedLibraryCore.Commands; 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 perform when command is executed /// /// IManagerCommand CreateScriptCommand(string name, string alias, string description, string permission, bool isTargetRequired, IEnumerable args, Func executeAction, IEnumerable supportedGames); } }