namespace StardewModdingAPI.Mods.ConsoleCommands.Framework.Commands { /// A console command to register. internal interface IConsoleCommand { /********* ** Accessors *********/ /// The command name the user must type. string Name { get; } /// The command description. string Description { get; } /// Whether the command may need to perform logic when the game updates. This value shouldn't change. bool MayNeedUpdate { get; } /// Whether the command may need to perform logic when the player presses a button. This value shouldn't change. bool MayNeedInput { get; } /********* ** Public methods *********/ /// Handle the command. /// Writes messages to the console and log file. /// The command name. /// The command arguments. void Handle(IMonitor monitor, string command, ArgumentParser args); /// Perform any logic needed on update tick. /// Writes messages to the console and log file. void OnUpdated(IMonitor monitor); /// Perform any logic when input is received. /// Writes messages to the console and log file. /// The button that was pressed. void OnButtonPressed(IMonitor monitor, SButton button); } }