From a2a0469cd024e2fd4b35503db152ba1a6df712ec Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 3 Dec 2018 01:43:02 -0500 Subject: deprecate old events (#606) --- src/SMAPI/Events/TimeEvents.cs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/SMAPI/Events/TimeEvents.cs') diff --git a/src/SMAPI/Events/TimeEvents.cs b/src/SMAPI/Events/TimeEvents.cs index 311ffe9e..cca6a056 100644 --- a/src/SMAPI/Events/TimeEvents.cs +++ b/src/SMAPI/Events/TimeEvents.cs @@ -1,9 +1,11 @@ using System; +using StardewModdingAPI.Framework; using StardewModdingAPI.Framework.Events; namespace StardewModdingAPI.Events { /// Events raised when the in-game date or time changes. + [Obsolete("Use " + nameof(Mod.Helper) + "." + nameof(IModHelper.Events) + " instead. See https://smapi.io/3.0 for more info.")] public static class TimeEvents { /********* @@ -12,6 +14,9 @@ namespace StardewModdingAPI.Events /// The core event manager. private static EventManager EventManager; + /// Manages deprecation warnings. + private static DeprecationManager DeprecationManager; + /********* ** Events @@ -19,14 +24,22 @@ namespace StardewModdingAPI.Events /// Raised after the game begins a new day, including when loading a save. public static event EventHandler AfterDayStarted { - add => TimeEvents.EventManager.Legacy_AfterDayStarted.Add(value); + add + { + TimeEvents.DeprecationManager.WarnForOldEvents(); + TimeEvents.EventManager.Legacy_AfterDayStarted.Add(value); + } remove => TimeEvents.EventManager.Legacy_AfterDayStarted.Remove(value); } /// Raised after the in-game clock changes. public static event EventHandler TimeOfDayChanged { - add => TimeEvents.EventManager.Legacy_TimeOfDayChanged.Add(value); + add + { + TimeEvents.DeprecationManager.WarnForOldEvents(); + TimeEvents.EventManager.Legacy_TimeOfDayChanged.Add(value); + } remove => TimeEvents.EventManager.Legacy_TimeOfDayChanged.Remove(value); } @@ -36,9 +49,11 @@ namespace StardewModdingAPI.Events *********/ /// Initialise the events. /// The core event manager. - internal static void Init(EventManager eventManager) + /// Manages deprecation warnings. + internal static void Init(EventManager eventManager, DeprecationManager deprecationManager) { TimeEvents.EventManager = eventManager; + TimeEvents.DeprecationManager = deprecationManager; } } } -- cgit From 3744e2f1e5505c9d15fb3bc985ad147a33621048 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 3 Dec 2018 02:39:20 -0500 Subject: add SMAPI 3.0 compatibility strict mode (#606) --- src/SMAPI/Events/TimeEvents.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/SMAPI/Events/TimeEvents.cs') diff --git a/src/SMAPI/Events/TimeEvents.cs b/src/SMAPI/Events/TimeEvents.cs index cca6a056..61491dc8 100644 --- a/src/SMAPI/Events/TimeEvents.cs +++ b/src/SMAPI/Events/TimeEvents.cs @@ -1,3 +1,4 @@ +#if !SMAPI_3_0_STRICT using System; using StardewModdingAPI.Framework; using StardewModdingAPI.Framework.Events; @@ -57,3 +58,4 @@ namespace StardewModdingAPI.Events } } } +#endif -- cgit