From 4712da9f2d382e4593966530145140f33c7673bf Mon Sep 17 00:00:00 2001 From: ClxS Date: Fri, 4 Mar 2016 20:20:58 +0000 Subject: Improved Inventory Changed command to show which items were added/removed/alteredQuantity --- StardewModdingAPI/Events/EventArgs.cs | 9 ++++++++- StardewModdingAPI/Events/Player.cs | 7 ++++--- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/EventArgs.cs b/StardewModdingAPI/Events/EventArgs.cs index 1ebafa54..7f2e28c7 100644 --- a/StardewModdingAPI/Events/EventArgs.cs +++ b/StardewModdingAPI/Events/EventArgs.cs @@ -1,5 +1,6 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Input; +using StardewModdingAPI.Inheritance; using StardewValley; using StardewValley.Menus; using System; @@ -94,11 +95,17 @@ namespace StardewModdingAPI.Events public class EventArgsInventoryChanged : EventArgs { - public EventArgsInventoryChanged(List inventory) + public EventArgsInventoryChanged(List inventory, List changedItems) { Inventory = inventory; + Added = changedItems.Where(n => n.ChangeType == ChangeType.Added).ToList(); + Removed = changedItems.Where(n => n.ChangeType == ChangeType.Removed).ToList(); + QuantityChanged = changedItems.Where(n => n.ChangeType == ChangeType.StackChange).ToList(); } public List Inventory { get; private set; } + public List Added { get; private set; } + public List Removed { get; private set; } + public List QuantityChanged { get; private set; } } public class EventArgsIntChanged : EventArgs diff --git a/StardewModdingAPI/Events/Player.cs b/StardewModdingAPI/Events/Player.cs index 7904a6e2..47d21f63 100644 --- a/StardewModdingAPI/Events/Player.cs +++ b/StardewModdingAPI/Events/Player.cs @@ -1,4 +1,5 @@ -using StardewValley; +using StardewModdingAPI.Inheritance; +using StardewValley; using System; using System.Collections.Generic; using System.Linq; @@ -17,9 +18,9 @@ namespace StardewModdingAPI.Events FarmerChanged.Invoke(null, new EventArgsFarmerChanged(priorFarmer, newFarmer)); } - public static void InvokeInventoryChanged(List inventory) + public static void InvokeInventoryChanged(List inventory, List changedItems) { - InventoryChanged.Invoke(null, new EventArgsInventoryChanged(inventory)); + InventoryChanged.Invoke(null, new EventArgsInventoryChanged(inventory, changedItems)); } } } -- cgit