summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Events
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2016-10-31 12:05:02 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2016-10-31 12:05:02 -0400
commitd9adaf73869ce768686301ef30687a5fc18048a0 (patch)
treef9c53227a6682388f40ad5b1307bcdd12ad6ba29 /src/StardewModdingAPI/Events
parent1c15738233453edee36e964f099694ced64cb1b8 (diff)
downloadSMAPI-d9adaf73869ce768686301ef30687a5fc18048a0.tar.gz
SMAPI-d9adaf73869ce768686301ef30687a5fc18048a0.tar.bz2
SMAPI-d9adaf73869ce768686301ef30687a5fc18048a0.zip
split combined class files per .NET conventions
Diffstat (limited to 'src/StardewModdingAPI/Events')
-rw-r--r--src/StardewModdingAPI/Events/ControlEvents.cs (renamed from src/StardewModdingAPI/Events/Controls.cs)114
-rw-r--r--src/StardewModdingAPI/Events/EventArgs.cs272
-rw-r--r--src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs15
-rw-r--r--src/StardewModdingAPI/Events/EventArgsCommand.cs14
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs18
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs18
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs20
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs20
-rw-r--r--src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsFarmerChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs16
-rw-r--r--src/StardewModdingAPI/Events/EventArgsIntChanged.cs16
-rw-r--r--src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs24
-rw-r--r--src/StardewModdingAPI/Events/EventArgsKeyPressed.cs15
-rw-r--r--src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsLevelUp.cs26
-rw-r--r--src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs14
-rw-r--r--src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs16
-rw-r--r--src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs17
-rw-r--r--src/StardewModdingAPI/Events/EventArgsNewDay.cs18
-rw-r--r--src/StardewModdingAPI/Events/EventArgsStringChanged.cs16
-rw-r--r--src/StardewModdingAPI/Events/GameEvents.cs (renamed from src/StardewModdingAPI/Events/Game.cs)244
-rw-r--r--src/StardewModdingAPI/Events/GraphicsEvents.cs (renamed from src/StardewModdingAPI/Events/Graphics.cs)322
-rw-r--r--src/StardewModdingAPI/Events/LocationEvents.cs (renamed from src/StardewModdingAPI/Events/Location.cs)58
-rw-r--r--src/StardewModdingAPI/Events/MenuEvents.cs (renamed from src/StardewModdingAPI/Events/Menu.cs)40
-rw-r--r--src/StardewModdingAPI/Events/MineEvents.cs (renamed from src/StardewModdingAPI/Events/Mine.cs)26
-rw-r--r--src/StardewModdingAPI/Events/PlayerEvents.cs (renamed from src/StardewModdingAPI/Events/Player.cs)68
-rw-r--r--src/StardewModdingAPI/Events/TimeEvents.cs (renamed from src/StardewModdingAPI/Events/Time.cs)82
30 files changed, 845 insertions, 749 deletions
diff --git a/src/StardewModdingAPI/Events/Controls.cs b/src/StardewModdingAPI/Events/ControlEvents.cs
index 6415561a..cb597cf1 100644
--- a/src/StardewModdingAPI/Events/Controls.cs
+++ b/src/StardewModdingAPI/Events/ControlEvents.cs
@@ -1,58 +1,58 @@
-using System;
-using Microsoft.Xna.Framework;
-using Microsoft.Xna.Framework.Input;
-
-namespace StardewModdingAPI.Events
-{
- public static class ControlEvents
- {
- public static event EventHandler<EventArgsKeyboardStateChanged> KeyboardChanged = delegate { };
- public static event EventHandler<EventArgsKeyPressed> KeyPressed = delegate { };
- public static event EventHandler<EventArgsKeyPressed> KeyReleased = delegate { };
- public static event EventHandler<EventArgsMouseStateChanged> MouseChanged = delegate { };
- public static event EventHandler<EventArgsControllerButtonPressed> ControllerButtonPressed = delegate { };
- public static event EventHandler<EventArgsControllerButtonReleased> ControllerButtonReleased = delegate { };
- public static event EventHandler<EventArgsControllerTriggerPressed> ControllerTriggerPressed = delegate { };
- public static event EventHandler<EventArgsControllerTriggerReleased> ControllerTriggerReleased = delegate { };
-
- internal static void InvokeKeyboardChanged(KeyboardState priorState, KeyboardState newState)
- {
- KeyboardChanged.Invoke(null, new EventArgsKeyboardStateChanged(priorState, newState));
- }
-
- internal static void InvokeMouseChanged(MouseState priorState, MouseState newState)
- {
- MouseChanged.Invoke(null, new EventArgsMouseStateChanged(priorState, newState));
- }
-
- internal static void InvokeKeyPressed(Keys key)
- {
- KeyPressed.Invoke(null, new EventArgsKeyPressed(key));
- }
-
- internal static void InvokeKeyReleased(Keys key)
- {
- KeyReleased.Invoke(null, new EventArgsKeyPressed(key));
- }
-
- internal static void InvokeButtonPressed(PlayerIndex playerIndex, Buttons buttons)
- {
- ControllerButtonPressed.Invoke(null, new EventArgsControllerButtonPressed(playerIndex, buttons));
- }
-
- internal static void InvokeButtonReleased(PlayerIndex playerIndex, Buttons buttons)
- {
- ControllerButtonReleased.Invoke(null, new EventArgsControllerButtonReleased(playerIndex, buttons));
- }
-
- internal static void InvokeTriggerPressed(PlayerIndex playerIndex, Buttons buttons, float value)
- {
- ControllerTriggerPressed.Invoke(null, new EventArgsControllerTriggerPressed(playerIndex, buttons, value));
- }
-
- internal static void InvokeTriggerReleased(PlayerIndex playerIndex, Buttons buttons, float value)
- {
- ControllerTriggerReleased.Invoke(null, new EventArgsControllerTriggerReleased(playerIndex, buttons, value));
- }
- }
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public static class ControlEvents
+ {
+ public static event EventHandler<EventArgsKeyboardStateChanged> KeyboardChanged = delegate { };
+ public static event EventHandler<EventArgsKeyPressed> KeyPressed = delegate { };
+ public static event EventHandler<EventArgsKeyPressed> KeyReleased = delegate { };
+ public static event EventHandler<EventArgsMouseStateChanged> MouseChanged = delegate { };
+ public static event EventHandler<EventArgsControllerButtonPressed> ControllerButtonPressed = delegate { };
+ public static event EventHandler<EventArgsControllerButtonReleased> ControllerButtonReleased = delegate { };
+ public static event EventHandler<EventArgsControllerTriggerPressed> ControllerTriggerPressed = delegate { };
+ public static event EventHandler<EventArgsControllerTriggerReleased> ControllerTriggerReleased = delegate { };
+
+ internal static void InvokeKeyboardChanged(KeyboardState priorState, KeyboardState newState)
+ {
+ KeyboardChanged.Invoke(null, new EventArgsKeyboardStateChanged(priorState, newState));
+ }
+
+ internal static void InvokeMouseChanged(MouseState priorState, MouseState newState)
+ {
+ MouseChanged.Invoke(null, new EventArgsMouseStateChanged(priorState, newState));
+ }
+
+ internal static void InvokeKeyPressed(Keys key)
+ {
+ KeyPressed.Invoke(null, new EventArgsKeyPressed(key));
+ }
+
+ internal static void InvokeKeyReleased(Keys key)
+ {
+ KeyReleased.Invoke(null, new EventArgsKeyPressed(key));
+ }
+
+ internal static void InvokeButtonPressed(PlayerIndex playerIndex, Buttons buttons)
+ {
+ ControllerButtonPressed.Invoke(null, new EventArgsControllerButtonPressed(playerIndex, buttons));
+ }
+
+ internal static void InvokeButtonReleased(PlayerIndex playerIndex, Buttons buttons)
+ {
+ ControllerButtonReleased.Invoke(null, new EventArgsControllerButtonReleased(playerIndex, buttons));
+ }
+
+ internal static void InvokeTriggerPressed(PlayerIndex playerIndex, Buttons buttons, float value)
+ {
+ ControllerTriggerPressed.Invoke(null, new EventArgsControllerTriggerPressed(playerIndex, buttons, value));
+ }
+
+ internal static void InvokeTriggerReleased(PlayerIndex playerIndex, Buttons buttons, float value)
+ {
+ ControllerTriggerReleased.Invoke(null, new EventArgsControllerTriggerReleased(playerIndex, buttons, value));
+ }
+ }
} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgs.cs b/src/StardewModdingAPI/Events/EventArgs.cs
deleted file mode 100644
index 2bce964e..00000000
--- a/src/StardewModdingAPI/Events/EventArgs.cs
+++ /dev/null
@@ -1,272 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.Xna.Framework;
-using Microsoft.Xna.Framework.Input;
-using StardewModdingAPI.Inheritance;
-using StardewValley;
-using StardewValley.Menus;
-using Object = StardewValley.Object;
-
-namespace StardewModdingAPI.Events
-{
- public class EventArgsKeyboardStateChanged : EventArgs
- {
- public EventArgsKeyboardStateChanged(KeyboardState priorState, KeyboardState newState)
- {
- NewState = newState;
- NewState = newState;
- }
-
- public KeyboardState NewState { get; private set; }
- public KeyboardState PriorState { get; private set; }
- }
-
- public class EventArgsKeyPressed : EventArgs
- {
- public EventArgsKeyPressed(Keys keyPressed)
- {
- KeyPressed = keyPressed;
- }
-
- public Keys KeyPressed { get; private set; }
- }
-
- public class EventArgsControllerButtonPressed : EventArgs
- {
- public EventArgsControllerButtonPressed(PlayerIndex playerIndex, Buttons buttonPressed)
- {
- PlayerIndex = playerIndex;
- ButtonPressed = buttonPressed;
- }
-
- public PlayerIndex PlayerIndex { get; private set; }
- public Buttons ButtonPressed { get; private set; }
- }
-
- public class EventArgsControllerButtonReleased : EventArgs
- {
- public EventArgsControllerButtonReleased(PlayerIndex playerIndex, Buttons buttonReleased)
- {
- PlayerIndex = playerIndex;
- ButtonReleased = buttonReleased;
- }
-
- public PlayerIndex PlayerIndex { get; private set; }
- public Buttons ButtonReleased { get; private set; }
- }
-
- public class EventArgsControllerTriggerPressed : EventArgs
- {
- public EventArgsControllerTriggerPressed(PlayerIndex playerIndex, Buttons buttonPressed, float value)
- {
- PlayerIndex = playerIndex;
- ButtonPressed = buttonPressed;
- Value = value;
- }
-
- public PlayerIndex PlayerIndex { get; private set; }
- public Buttons ButtonPressed { get; private set; }
- public float Value { get; private set; }
- }
-
- public class EventArgsControllerTriggerReleased : EventArgs
- {
- public EventArgsControllerTriggerReleased(PlayerIndex playerIndex, Buttons buttonReleased, float value)
- {
- PlayerIndex = playerIndex;
- ButtonReleased = buttonReleased;
- Value = value;
- }
-
- public PlayerIndex PlayerIndex { get; private set; }
- public Buttons ButtonReleased { get; private set; }
- public float Value { get; private set; }
- }
-
- public class EventArgsMouseStateChanged : EventArgs
- {
- public EventArgsMouseStateChanged(MouseState priorState, MouseState newState)
- {
- NewState = newState;
- NewState = newState;
- }
-
- public MouseState NewState { get; private set; }
- public MouseState PriorState { get; private set; }
- }
-
- public class EventArgsClickableMenuChanged : EventArgs
- {
- public EventArgsClickableMenuChanged(IClickableMenu priorMenu, IClickableMenu newMenu)
- {
- NewMenu = newMenu;
- PriorMenu = priorMenu;
- }
-
- public IClickableMenu NewMenu { get; private set; }
- public IClickableMenu PriorMenu { get; private set; }
- }
-
- public class EventArgsClickableMenuClosed : EventArgs
- {
- public EventArgsClickableMenuClosed(IClickableMenu priorMenu)
- {
- PriorMenu = priorMenu;
- }
-
- public IClickableMenu PriorMenu { get; private set; }
- }
-
- public class EventArgsGameLocationsChanged : EventArgs
- {
- public EventArgsGameLocationsChanged(List<GameLocation> newLocations)
- {
- NewLocations = newLocations;
- }
-
- public List<GameLocation> NewLocations { get; private set; }
- }
-
- public class EventArgsMineLevelChanged : EventArgs
- {
- public EventArgsMineLevelChanged(int previousMineLevel, int currentMineLevel)
- {
- PreviousMineLevel = previousMineLevel;
- CurrentMineLevel = currentMineLevel;
- }
-
- public int PreviousMineLevel { get; private set; }
- public int CurrentMineLevel { get; private set; }
- }
-
- public class EventArgsLocationObjectsChanged : EventArgs
- {
- public EventArgsLocationObjectsChanged(SerializableDictionary<Vector2, Object> newObjects)
- {
- NewObjects = newObjects;
- }
-
- public SerializableDictionary<Vector2, Object> NewObjects { get; private set; }
- }
-
- public class EventArgsCurrentLocationChanged : EventArgs
- {
- public EventArgsCurrentLocationChanged(GameLocation priorLocation, GameLocation newLocation)
- {
- NewLocation = newLocation;
- PriorLocation = priorLocation;
- }
-
- public GameLocation NewLocation { get; private set; }
- public GameLocation PriorLocation { get; private set; }
- }
-
- public class EventArgsFarmerChanged : EventArgs
- {
- public EventArgsFarmerChanged(Farmer priorFarmer, Farmer newFarmer)
- {
- NewFarmer = NewFarmer;
- PriorFarmer = PriorFarmer;
- }
-
- public Farmer NewFarmer { get; }
- public Farmer PriorFarmer { get; }
- }
-
- public class EventArgsInventoryChanged : EventArgs
- {
- public EventArgsInventoryChanged(List<Item> inventory, List<ItemStackChange> 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<Item> Inventory { get; private set; }
- public List<ItemStackChange> Added { get; private set; }
- public List<ItemStackChange> Removed { get; private set; }
- public List<ItemStackChange> QuantityChanged { get; private set; }
- }
-
- public class EventArgsLevelUp : EventArgs
- {
- public enum LevelType
- {
- Combat,
- Farming,
- Fishing,
- Foraging,
- Mining,
- Luck
- }
-
- public EventArgsLevelUp(LevelType type, int newLevel)
- {
- Type = type;
- NewLevel = newLevel;
- }
-
- public LevelType Type { get; private set; }
- public int NewLevel { get; private set; }
- }
-
- public class EventArgsIntChanged : EventArgs
- {
- public EventArgsIntChanged(int priorInt, int newInt)
- {
- NewInt = NewInt;
- PriorInt = PriorInt;
- }
-
- public int NewInt { get; }
- public int PriorInt { get; }
- }
-
- public class EventArgsStringChanged : EventArgs
- {
- public EventArgsStringChanged(string priorString, string newString)
- {
- NewString = newString;
- PriorString = priorString;
- }
-
- public string NewString { get; private set; }
- public string PriorString { get; private set; }
- }
-
- public class EventArgsLoadedGameChanged : EventArgs
- {
- public EventArgsLoadedGameChanged(bool loadedGame)
- {
- LoadedGame = loadedGame;
- }
-
- public bool LoadedGame { get; private set; }
- }
-
- public class EventArgsNewDay : EventArgs
- {
- public EventArgsNewDay(int prevDay, int curDay, bool newDay)
- {
- PreviousDay = prevDay;
- CurrentDay = curDay;
- IsNewDay = newDay;
- }
-
- public int PreviousDay { get; private set; }
- public int CurrentDay { get; private set; }
- public bool IsNewDay { get; private set; }
- }
-
- public class EventArgsCommand : EventArgs
- {
- public EventArgsCommand(Command command)
- {
- Command = command;
- }
-
- public Command Command { get; private set; }
- }
-} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs
new file mode 100644
index 00000000..6765c8da
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs
@@ -0,0 +1,17 @@
+using System;
+using StardewValley.Menus;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsClickableMenuChanged : EventArgs
+ {
+ public EventArgsClickableMenuChanged(IClickableMenu priorMenu, IClickableMenu newMenu)
+ {
+ NewMenu = newMenu;
+ PriorMenu = priorMenu;
+ }
+
+ public IClickableMenu NewMenu { get; private set; }
+ public IClickableMenu PriorMenu { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs
new file mode 100644
index 00000000..bdf44285
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs
@@ -0,0 +1,15 @@
+using System;
+using StardewValley.Menus;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsClickableMenuClosed : EventArgs
+ {
+ public EventArgsClickableMenuClosed(IClickableMenu priorMenu)
+ {
+ PriorMenu = priorMenu;
+ }
+
+ public IClickableMenu PriorMenu { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsCommand.cs b/src/StardewModdingAPI/Events/EventArgsCommand.cs
new file mode 100644
index 00000000..fd2d4a51
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsCommand.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsCommand : EventArgs
+ {
+ public EventArgsCommand(Command command)
+ {
+ Command = command;
+ }
+
+ public Command Command { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs
new file mode 100644
index 00000000..b51a8a5b
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs
@@ -0,0 +1,18 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsControllerButtonPressed : EventArgs
+ {
+ public EventArgsControllerButtonPressed(PlayerIndex playerIndex, Buttons buttonPressed)
+ {
+ PlayerIndex = playerIndex;
+ ButtonPressed = buttonPressed;
+ }
+
+ public PlayerIndex PlayerIndex { get; private set; }
+ public Buttons ButtonPressed { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs
new file mode 100644
index 00000000..0164b8d6
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs
@@ -0,0 +1,18 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsControllerButtonReleased : EventArgs
+ {
+ public EventArgsControllerButtonReleased(PlayerIndex playerIndex, Buttons buttonReleased)
+ {
+ PlayerIndex = playerIndex;
+ ButtonReleased = buttonReleased;
+ }
+
+ public PlayerIndex PlayerIndex { get; private set; }
+ public Buttons ButtonReleased { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs
new file mode 100644
index 00000000..1bf4fa46
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs
@@ -0,0 +1,20 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsControllerTriggerPressed : EventArgs
+ {
+ public EventArgsControllerTriggerPressed(PlayerIndex playerIndex, Buttons buttonPressed, float value)
+ {
+ PlayerIndex = playerIndex;
+ ButtonPressed = buttonPressed;
+ Value = value;
+ }
+
+ public PlayerIndex PlayerIndex { get; private set; }
+ public Buttons ButtonPressed { get; private set; }
+ public float Value { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs
new file mode 100644
index 00000000..07a4bcb1
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs
@@ -0,0 +1,20 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsControllerTriggerReleased : EventArgs
+ {
+ public EventArgsControllerTriggerReleased(PlayerIndex playerIndex, Buttons buttonReleased, float value)
+ {
+ PlayerIndex = playerIndex;
+ ButtonReleased = buttonReleased;
+ Value = value;
+ }
+
+ public PlayerIndex PlayerIndex { get; private set; }
+ public Buttons ButtonReleased { get; private set; }
+ public float Value { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs b/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs
new file mode 100644
index 00000000..53ed1551
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs
@@ -0,0 +1,17 @@
+using System;
+using StardewValley;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsCurrentLocationChanged : EventArgs
+ {
+ public EventArgsCurrentLocationChanged(GameLocation priorLocation, GameLocation newLocation)
+ {
+ NewLocation = newLocation;
+ PriorLocation = priorLocation;
+ }
+
+ public GameLocation NewLocation { get; private set; }
+ public GameLocation PriorLocation { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsFarmerChanged.cs b/src/StardewModdingAPI/Events/EventArgsFarmerChanged.cs
new file mode 100644
index 00000000..468d18ee
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsFarmerChanged.cs
@@ -0,0 +1,17 @@
+using System;
+using StardewValley;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsFarmerChanged : EventArgs
+ {
+ public EventArgsFarmerChanged(Farmer priorFarmer, Farmer newFarmer)
+ {
+ NewFarmer = NewFarmer;
+ PriorFarmer = PriorFarmer;
+ }
+
+ public Farmer NewFarmer { get; }
+ public Farmer PriorFarmer { get; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs b/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs
new file mode 100644
index 00000000..6a55c87a
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using StardewValley;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsGameLocationsChanged : EventArgs
+ {
+ public EventArgsGameLocationsChanged(List<GameLocation> newLocations)
+ {
+ NewLocations = newLocations;
+ }
+
+ public List<GameLocation> NewLocations { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsIntChanged.cs b/src/StardewModdingAPI/Events/EventArgsIntChanged.cs
new file mode 100644
index 00000000..c8a6e86d
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsIntChanged.cs
@@ -0,0 +1,16 @@
+using System;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsIntChanged : EventArgs
+ {
+ public EventArgsIntChanged(int priorInt, int newInt)
+ {
+ NewInt = NewInt;
+ PriorInt = PriorInt;
+ }
+
+ public int NewInt { get; }
+ public int PriorInt { get; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs b/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs
new file mode 100644
index 00000000..fa929ab5
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using StardewModdingAPI.Inheritance;
+using StardewValley;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsInventoryChanged : EventArgs
+ {
+ public EventArgsInventoryChanged(List<Item> inventory, List<ItemStackChange> 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<Item> Inventory { get; private set; }
+ public List<ItemStackChange> Added { get; private set; }
+ public List<ItemStackChange> Removed { get; private set; }
+ public List<ItemStackChange> QuantityChanged { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs b/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs
new file mode 100644
index 00000000..df45e111
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs
@@ -0,0 +1,15 @@
+using System;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsKeyPressed : EventArgs
+ {
+ public EventArgsKeyPressed(Keys keyPressed)
+ {
+ KeyPressed = keyPressed;
+ }
+
+ public Keys KeyPressed { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs b/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs
new file mode 100644
index 00000000..784cd197
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs
@@ -0,0 +1,17 @@
+using System;
+using Microsoft.Xna.Framework.Input;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsKeyboardStateChanged : EventArgs
+ {
+ public EventArgsKeyboardStateChanged(KeyboardState priorState, KeyboardState newState)
+ {
+ NewState = newState;
+ NewState = newState;
+ }
+
+ public KeyboardState NewState { get; private set; }
+ public KeyboardState PriorState { get; private set; }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/Events/EventArgsLevelUp.cs b/src/StardewModdingAPI/Events/EventArgsLevelUp.cs
new file mode 100644
index 00000000..762422c2
--- /dev/null
+++ b/src/StardewModdingAPI/Events/EventArgsLevelUp.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace StardewModdingAPI.Events
+{
+ public class EventArgsLevelUp : EventArgs
+ {
+ public enum LevelType
+ {