summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Inheritance/SGame.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-01-15 18:23:09 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-01-15 18:23:09 -0500
commit0c73b02d58712f7f340f4326143d5439d6cd7f93 (patch)
treeb193b7a35849ac72e121993a24351f0fefb23da1 /src/StardewModdingAPI/Inheritance/SGame.cs
parent5c8e7f5d9315da87ca9f6556ec9f759ed753d6e5 (diff)
downloadSMAPI-0c73b02d58712f7f340f4326143d5439d6cd7f93.tar.gz
SMAPI-0c73b02d58712f7f340f4326143d5439d6cd7f93.tar.bz2
SMAPI-0c73b02d58712f7f340f4326143d5439d6cd7f93.zip
add save events (#215)
Diffstat (limited to 'src/StardewModdingAPI/Inheritance/SGame.cs')
-rw-r--r--src/StardewModdingAPI/Inheritance/SGame.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/StardewModdingAPI/Inheritance/SGame.cs b/src/StardewModdingAPI/Inheritance/SGame.cs
index 16803a73..8e87bac6 100644
--- a/src/StardewModdingAPI/Inheritance/SGame.cs
+++ b/src/StardewModdingAPI/Inheritance/SGame.cs
@@ -913,10 +913,17 @@ namespace StardewModdingAPI.Inheritance
// raise menu changed
if (Game1.activeClickableMenu != this.PreviousActiveMenu)
{
- // raise events
IClickableMenu previousMenu = this.PreviousActiveMenu;
IClickableMenu newMenu = Game1.activeClickableMenu;
- if (Game1.activeClickableMenu != null)
+
+ // raise save events
+ if (newMenu is SaveGameMenu)
+ SaveEvents.InvokeBeforeSave(this.Monitor);
+ else if (previousMenu is SaveGameMenu)
+ SaveEvents.InvokeAfterSave(this.Monitor);
+
+ // raise menu events
+ if (newMenu != null)
MenuEvents.InvokeMenuChanged(this.Monitor, previousMenu, newMenu);
else
MenuEvents.InvokeMenuClosed(this.Monitor, previousMenu);
@@ -1024,6 +1031,7 @@ namespace StardewModdingAPI.Inheritance
// raise player loaded save (in the following tick to let the game finish updating first)
if (this.FireLoadedGameEvent)
{
+ SaveEvents.InvokeAfterLoad(this.Monitor);
PlayerEvents.InvokeLoadedGame(this.Monitor, new EventArgsLoadedGameChanged(Game1.hasLoadedGame));
this.FireLoadedGameEvent = false;
}