summaryrefslogtreecommitdiff
path: root/src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-07-02 02:45:02 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-07-02 02:45:02 -0400
commit2ca49fba62f59135c2ed3ec7958cb78073ff486b (patch)
tree5b4e5251606622f615b105b683a2722f4e6b046c /src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs
parentf9482906ae7ce4dfd41bb4236e094be5d4fa7689 (diff)
downloadSMAPI-2ca49fba62f59135c2ed3ec7958cb78073ff486b.tar.gz
SMAPI-2ca49fba62f59135c2ed3ec7958cb78073ff486b.tar.bz2
SMAPI-2ca49fba62f59135c2ed3ec7958cb78073ff486b.zip
encapsulate TrainerMod's argument parsing (#302)
Diffstat (limited to 'src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs')
-rw-r--r--src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs b/src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs
index a8c05d0c..40b87b62 100644
--- a/src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs
+++ b/src/TrainerMod/Framework/Commands/Player/SetSpeedCommand.cs
@@ -1,5 +1,4 @@
-using System.Linq;
-using StardewModdingAPI;
+using StardewModdingAPI;
using StardewValley;
namespace TrainerMod.Framework.Commands.Player
@@ -18,22 +17,14 @@ namespace TrainerMod.Framework.Commands.Player
/// <param name="monitor">Writes messages to the console and log file.</param>
/// <param name="command">The command name.</param>
/// <param name="args">The command arguments.</param>
- public override void Handle(IMonitor monitor, string command, string[] args)
+ public override void Handle(IMonitor monitor, string command, ArgumentParser args)
{
- // validate
- if (!args.Any())
- {
- monitor.Log($"You currently have {Game1.player.addedSpeed} added speed. Specify a value to change it.", LogLevel.Info);
+ // parse arguments
+ if (!args.TryGetInt(0, "added speed", out int amount, min: 0))
return;
- }
- if (!int.TryParse(args[0], out int addedSpeed))
- {
- this.LogArgumentNotInt(monitor, command);
- return;
- }
// handle
- Game1.player.addedSpeed = addedSpeed;
+ Game1.player.addedSpeed = amount;
monitor.Log($"OK, your added speed is now {Game1.player.addedSpeed}.", LogLevel.Info);
}
}