/// <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(); }
/// <summary> /// Raised every second. /// </summary> /// <param name="sender">Unknown, used by SMAPI.</param> /// <param name="e">OneSecondUpdate params.</param> /// <remarks>Currently handles: grabbing new recently completed special orders.</remarks> private void OneSecondUpdateTicking(object?sender, OneSecondUpdateTickingEventArgs e) { RecentSOManager.GrabNewRecentlyCompletedOrders(); }