From 27dece2cf445147c5e2848f9ec26f38a101f50fc Mon Sep 17 00:00:00 2001 From: Gormogon Date: Sun, 29 May 2016 18:23:01 -0400 Subject: Attempt to migrate to new directory structure. --- StardewModdingAPI/Command.cs | 109 ------------------------------------------- 1 file changed, 109 deletions(-) delete mode 100644 StardewModdingAPI/Command.cs (limited to 'StardewModdingAPI/Command.cs') diff --git a/StardewModdingAPI/Command.cs b/StardewModdingAPI/Command.cs deleted file mode 100644 index 4214b1a7..00000000 --- a/StardewModdingAPI/Command.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections.Generic; -using StardewModdingAPI.Events; - -namespace StardewModdingAPI -{ - public class Command - { - internal static List RegisteredCommands = new List(); - public string[] CalledArgs; - public string[] CommandArgs; - public string CommandDesc; - - public string CommandName; - - /// - /// Creates a Command from a Name, Description, and Arguments - /// - /// Name - /// Description - /// Arguments - public Command(string cname, string cdesc, string[] args = null) - { - CommandName = cname; - CommandDesc = cdesc; - if (args == null) - args = new string[0]; - CommandArgs = args; - } - - public event EventHandler CommandFired; - - /// - /// Calls the specified command. (It runs the command) - /// - /// The command to run - public static void CallCommand(string input) - { - input = input.TrimEnd(' '); - var args = new string[0]; - Command fnd; - if (input.Contains(" ")) - { - args = input.Split(new[] {" "}, 2, StringSplitOptions.RemoveEmptyEntries); - fnd = FindCommand(args[0]); - args = args[1].Split(new[] {" "}, StringSplitOptions.RemoveEmptyEntries); - } - else - { - fnd = FindCommand(input); - } - - if (fnd != null) - { - fnd.CalledArgs = args; - fnd.Fire(); - } - else - { - Log.AsyncR("Unknown Command"); - } - } - - /// - /// Registers a command to the list of commands properly - /// - /// Name of the command to register - /// Description - /// Arguments (these are purely for viewing so that a user can see what an argument needs to be) - /// - public static Command RegisterCommand(string command, string cdesc, string[] args = null) - { - var c = new Command(command, cdesc, args); - if (RegisteredCommands.Contains(c)) - { - Log.AsyncR($"Command already registered! [{c.CommandName}]"); - return RegisteredCommands.Find(x => x.Equals(c)); - } - - RegisteredCommands.Add(c); - Log.Async("Registered command: " + command); - - return c; - } - - /// - /// Looks up a command in the list of registered commands. Returns null if it doesn't exist (I think) - /// - /// Name of command to find - /// - public static Command FindCommand(string name) - { - return RegisteredCommands.Find(x => x.CommandName.Equals(name)); - } - - /// - /// Runs a command. Fires it. Calls it. Any of those. - /// - public void Fire() - { - if (CommandFired == null) - { - Log.AsyncR("Command failed to fire because it's fire event is null: " + CommandName); - return; - } - CommandFired.Invoke(this, new EventArgsCommand(this)); - } - } -} \ No newline at end of file -- cgit