示例#1
0
    /// <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();
    }
示例#2
0
 /// <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();
 }