summaryrefslogtreecommitdiff
path: root/src/TrainerMod/ItemData/SearchableWeapon.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2016-12-12 11:52:34 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2016-12-12 11:52:34 -0500
commit28e2695a19f7babf35d177367840a82b798beb55 (patch)
tree591b2badd77a7c9c0c36b8e09abdb6a323513307 /src/TrainerMod/ItemData/SearchableWeapon.cs
parentaaf354761f18a18b0bcb81c9bd32819bb28deac9 (diff)
parenta3376e2a6257c01c52a3c64c4f5f1f8de9a9c906 (diff)
downloadSMAPI-28e2695a19f7babf35d177367840a82b798beb55.tar.gz
SMAPI-28e2695a19f7babf35d177367840a82b798beb55.tar.bz2
SMAPI-28e2695a19f7babf35d177367840a82b798beb55.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/TrainerMod/ItemData/SearchableWeapon.cs')
-rw-r--r--src/TrainerMod/ItemData/SearchableWeapon.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/TrainerMod/ItemData/SearchableWeapon.cs b/src/TrainerMod/ItemData/SearchableWeapon.cs
new file mode 100644
index 00000000..cc9ef459
--- /dev/null
+++ b/src/TrainerMod/ItemData/SearchableWeapon.cs
@@ -0,0 +1,48 @@
+using StardewValley.Tools;
+
+namespace TrainerMod.ItemData
+{
+ /// <summary>A weapon that can be searched and added to the player's inventory through the console.</summary>
+ internal class SearchableWeapon : ISearchItem
+ {
+ /*********
+ ** Properties
+ *********/
+ /// <summary>The underlying item.</summary>
+ private readonly MeleeWeapon Weapon;
+
+
+ /*********
+ ** Accessors
+ *********/
+ /// <summary>Whether the item is valid.</summary>
+ public bool IsValid => this.Weapon != null;
+
+ /// <summary>The item ID.</summary>
+ public int ID => this.Weapon.initialParentTileIndex;
+
+ /// <summary>The item name.</summary>
+ public string Name => this.Weapon.Name;
+
+ /// <summary>The item type.</summary>
+ public ItemType Type => ItemType.Weapon;
+
+
+ /*********
+ ** Accessors
+ *********/
+ /// <summary>Construct an instance.</summary>
+ /// <param name="id">The weapon ID.</param>
+ public SearchableWeapon(int id)
+ {
+ try
+ {
+ this.Weapon = new MeleeWeapon(id);
+ }
+ catch
+ {
+ // invalid
+ }
+ }
+ }
+} \ No newline at end of file