summaryrefslogtreecommitdiff
path: root/src/SMAPI.Mods.ConsoleCommands/Framework/ItemData
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-11-21 14:10:09 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-11-21 14:10:09 -0500
commit85b947dced10f5398055af36b5fdb6b8d32a6a6b (patch)
treeefc2f877a6f41869a40b6d0a320e6d5c4fd591ca /src/SMAPI.Mods.ConsoleCommands/Framework/ItemData
parente20d26adcf7276c7f12ab9ab6ea0311953aa5194 (diff)
parenta0cb83ed406fc0447e8edf00e680585005480d23 (diff)
downloadSMAPI-85b947dced10f5398055af36b5fdb6b8d32a6a6b.tar.gz
SMAPI-85b947dced10f5398055af36b5fdb6b8d32a6a6b.tar.bz2
SMAPI-85b947dced10f5398055af36b5fdb6b8d32a6a6b.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.Mods.ConsoleCommands/Framework/ItemData')
-rw-r--r--src/SMAPI.Mods.ConsoleCommands/Framework/ItemData/SearchableItem.cs22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/SMAPI.Mods.ConsoleCommands/Framework/ItemData/SearchableItem.cs b/src/SMAPI.Mods.ConsoleCommands/Framework/ItemData/SearchableItem.cs
index d9e63126..72d01eb7 100644
--- a/src/SMAPI.Mods.ConsoleCommands/Framework/ItemData/SearchableItem.cs
+++ b/src/SMAPI.Mods.ConsoleCommands/Framework/ItemData/SearchableItem.cs
@@ -12,9 +12,12 @@ namespace StardewModdingAPI.Mods.ConsoleCommands.Framework.ItemData
/// <summary>The item type.</summary>
public ItemType Type { get; }
- /// <summary>The item instance.</summary>
+ /// <summary>A sample item instance.</summary>
public Item Item { get; }
+ /// <summary>Create an item instance.</summary>
+ public Func<Item> CreateItem { get; }
+
/// <summary>The item's unique ID for its type.</summary>
public int ID { get; }
@@ -31,12 +34,23 @@ namespace StardewModdingAPI.Mods.ConsoleCommands.Framework.ItemData
/// <summary>Construct an instance.</summary>
/// <param name="type">The item type.</param>
/// <param name="id">The unique ID (if different from the item's parent sheet index).</param>
- /// <param name="item">The item instance.</param>
- public SearchableItem(ItemType type, int id, Item item)
+ /// <param name="createItem">Create an item instance.</param>
+ public SearchableItem(ItemType type, int id, Func<SearchableItem, Item> createItem)
{
this.Type = type;
this.ID = id;
- this.Item = item;
+ this.CreateItem = () => createItem(this);
+ this.Item = createItem(this);
+ }
+
+ /// <summary>Construct an instance.</summary>
+ /// <param name="item">The item metadata to copy.</param>
+ public SearchableItem(SearchableItem item)
+ {
+ this.Type = item.Type;
+ this.ID = item.ID;
+ this.CreateItem = item.CreateItem;
+ this.Item = item.Item;
}
/// <summary>Get whether the item name contains a case-insensitive substring.</summary>