/// <summary> /// Raised right before the game is saved. /// </summary> /// <param name="sender">Unknown, used by SMAPI.</param> /// <param name="e">Event arguments.</param> /// <remarks>Used to handle day-end events.</remarks> private void Saving(object?sender, SavingEventArgs e) { this.Monitor.DebugLog("Event Saving raised"); DialogueManager.Save(); // Save dialogue DialogueManager.ClearDelayedDialogue(); if (Context.IsSplitScreen && Context.ScreenId != 0) {// Some properties only make sense for a single player to handle in splitscreen. return; } TagManager.ResetRandom(); StatsManager.ClearProperties(); // clear property cache, repopulate at next use RecentSOManager.GrabNewRecentlyCompletedOrders(); RecentSOManager.DayUpdate(Game1.stats.daysPlayed); RecentSOManager.Save(); }