/// <summary>Day ends (before save). This event is triggered *before* OnSaveLoaded for a new game.</summary> public static void OnDayEnding() { bool isNewGame = Game1.Date.TotalDays == -1; if (isNewGame) { SaveGameHelper.LoadFromFileOrInitialize(); return; } // don't ever reset, just apply the gift taste if (ConfigHelper.Config.ResetEveryXDays == 0) { // apply gift taste changes at the end of day (and not immediately after gifting) // this way the social tab will show the reaction you actually got for that day SaveGameHelper.Apply(); return; } int nextDay = Game1.Date.TotalDays + 1; if (nextDay % ConfigHelper.Config.ResetEveryXDays == 0) { SaveGameHelper.ResetSaveState(); return; } SaveGameHelper.Apply(); }
/// <summary>After save game got loaded (or new one is created).</summary> public static void OnSaveLoaded() { NpcHelper.StoreDefaultGiftTastes(); if (!Context.IsMainPlayer) { return; } SaveGameHelper.LoadFromFileOrInitialize(); SaveGameHelper.Apply(); }
/// <summary>Host notices a peer.</summary> /// <param name="e">Event data.</param> public static void OnModMessageReceived(ModMessageReceivedEventArgs e) { if (e.FromModID != MultiplayerHelper.ModId) { return; } Logger.Trace("Receiving message from peer. Type = " + e.Type); if (e.Type == ConfigHelper.Key) { // Use configuration of the host to prevent potential de-syncs ConfigHelper.Config = e.ReadAs <ModConfig>(); } else if (e.Type == SaveGameHelper.Key) { SaveGameHelper.SaveState = e.ReadAs <ModData>(); SaveGameHelper.Apply(); } }