diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2018-12-24 17:28:58 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2018-12-24 17:28:58 -0500 |
commit | 6ad52d607c49b16c6933060375086830edd9a1f9 (patch) | |
tree | 539fe4bff9faed589fb42573c97e513b750eea13 /src/SMAPI/Events | |
parent | 041bd2d6ba726eeea88afed3be307343a6f9286b (diff) | |
download | SMAPI-6ad52d607c49b16c6933060375086830edd9a1f9.tar.gz SMAPI-6ad52d607c49b16c6933060375086830edd9a1f9.tar.bz2 SMAPI-6ad52d607c49b16c6933060375086830edd9a1f9.zip |
add Specialised.LoadStageChanged event
Diffstat (limited to 'src/SMAPI/Events')
-rw-r--r-- | src/SMAPI/Events/ISpecialisedEvents.cs | 4 | ||||
-rw-r--r-- | src/SMAPI/Events/LoadStageChangedEventArgs.cs | 31 | ||||
-rw-r--r-- | src/SMAPI/Events/SavePreloadedEventArgs.cs | 7 |
3 files changed, 33 insertions, 9 deletions
diff --git a/src/SMAPI/Events/ISpecialisedEvents.cs b/src/SMAPI/Events/ISpecialisedEvents.cs index 2a19113c..ecb109e6 100644 --- a/src/SMAPI/Events/ISpecialisedEvents.cs +++ b/src/SMAPI/Events/ISpecialisedEvents.cs @@ -5,8 +5,8 @@ namespace StardewModdingAPI.Events /// <summary>Events serving specialised edge cases that shouldn't be used by most mods.</summary> public interface ISpecialisedEvents { - /// <summary>Raised immediately after the player loads a save slot, but before the world is fully initialised. The save and game data are available at this point, but some in-game content (like location maps) haven't been initialised yet.</summary> - event EventHandler<SavePreloadedEventArgs> SavePreloaded; + /// <summary>Raised when the low-level stage in the game's loading process has changed. This is an advanced event for mods which need to run code at specific points in the loading process. The available stages or when they happen might change without warning in future versions (e.g. due to changes in the game's load process), so mods using this event are more likely to break or have bugs. Most mods should use <see cref="IGameLoopEvents"/> instead.</summary> + event EventHandler<LoadStageChangedEventArgs> LoadStageChanged; /// <summary>Raised before the game state is updated (≈60 times per second), regardless of normal SMAPI validation. This event is not thread-safe and may be invoked while game logic is running asynchronously. Changes to game state in this method may crash the game or corrupt an in-progress save. Do not use this event unless you're fully aware of the context in which your code will be run. Mods using this event will trigger a stability warning in the SMAPI console.</summary> event EventHandler<UnvalidatedUpdateTickingEventArgs> UnvalidatedUpdateTicking; diff --git a/src/SMAPI/Events/LoadStageChangedEventArgs.cs b/src/SMAPI/Events/LoadStageChangedEventArgs.cs new file mode 100644 index 00000000..e837a5f1 --- /dev/null +++ b/src/SMAPI/Events/LoadStageChangedEventArgs.cs @@ -0,0 +1,31 @@ +using System; +using StardewModdingAPI.Enums; + +namespace StardewModdingAPI.Events +{ + /// <summary>Event arguments for an <see cref="ISpecialisedEvents.LoadStageChanged"/> event.</summary> + public class LoadStageChangedEventArgs : EventArgs + { + /********* + ** Accessors + *********/ + /// <summary>The previous load stage.</summary> + public LoadStage OldStage { get; } + + /// <summary>The new load stage.</summary> + public LoadStage NewStage { get; } + + + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + /// <param name="old">The previous load stage.</param> + /// <param name="current">The new load stage.</param> + public LoadStageChangedEventArgs(LoadStage old, LoadStage current) + { + this.OldStage = old; + this.NewStage = current; + } + } +} diff --git a/src/SMAPI/Events/SavePreloadedEventArgs.cs b/src/SMAPI/Events/SavePreloadedEventArgs.cs deleted file mode 100644 index 03990f5a..00000000 --- a/src/SMAPI/Events/SavePreloadedEventArgs.cs +++ /dev/null @@ -1,7 +0,0 @@ -using System; - -namespace StardewModdingAPI.Events -{ - /// <summary>Event arguments for an <see cref="ISpecialisedEvents.SavePreloaded"/> event.</summary> - public class SavePreloadedEventArgs : EventArgs { } -} |