diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-01-16 16:10:57 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-01-16 16:10:57 -0500 |
commit | 6adf199987a506f8a65f6c1ddfad5aa9fa2a6a9f (patch) | |
tree | faa9155fae99533110853567003325486f208937 /src/StardewModdingAPI/Framework/InternalExtensions.cs | |
parent | e8825947ca82c8f28ad9bc8a225fb4fb749814cb (diff) | |
parent | 1f3d3c8c93c7a427486b60cf649b86cef140e88b (diff) | |
download | SMAPI-6adf199987a506f8a65f6c1ddfad5aa9fa2a6a9f.tar.gz SMAPI-6adf199987a506f8a65f6c1ddfad5aa9fa2a6a9f.tar.bz2 SMAPI-6adf199987a506f8a65f6c1ddfad5aa9fa2a6a9f.zip |
Merge branch 'develop' into stable
Diffstat (limited to 'src/StardewModdingAPI/Framework/InternalExtensions.cs')
-rw-r--r-- | src/StardewModdingAPI/Framework/InternalExtensions.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/StardewModdingAPI/Framework/InternalExtensions.cs b/src/StardewModdingAPI/Framework/InternalExtensions.cs index 415785d9..c4bd2d35 100644 --- a/src/StardewModdingAPI/Framework/InternalExtensions.cs +++ b/src/StardewModdingAPI/Framework/InternalExtensions.cs @@ -86,5 +86,26 @@ namespace StardewModdingAPI.Framework // anything else return exception.ToString(); } + + /**** + ** Deprecation + ****/ + /// <summary>Log a deprecation warning for mods using an event.</summary> + /// <param name="deprecationManager">The deprecation manager to extend.</param> + /// <param name="handlers">The event handlers.</param> + /// <param name="nounPhrase">A noun phrase describing what is deprecated.</param> + /// <param name="version">The SMAPI version which deprecated it.</param> + /// <param name="severity">How deprecated the code is.</param> + public static void WarnForEvent(this DeprecationManager deprecationManager, Delegate[] handlers, string nounPhrase, string version, DeprecationLevel severity) + { + if (handlers == null || !handlers.Any()) + return; + + foreach (Delegate handler in handlers) + { + string modName = Program.ModRegistry.GetModFrom(handler) ?? "an unknown mod"; // suppress stack trace for unknown mods, not helpful here + deprecationManager.Warn(modName, nounPhrase, version, severity); + } + } } } |