using System; using StardewModdingAPI.Events; namespace StardewModdingAPI.Framework.Events { /// Events serving specialised edge cases that shouldn't be used by most mods. internal class ModSpecialisedEvents : ModEventsBase, ISpecialisedEvents { /********* ** Accessors *********/ /// 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. public event EventHandler UnvalidatedUpdateTicking { add => this.EventManager.UnvalidatedUpdateTicking.Add(value); remove => this.EventManager.UnvalidatedUpdateTicking.Remove(value); } /// Raised after 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. public event EventHandler UnvalidatedUpdateTicked { add => this.EventManager.UnvalidatedUpdateTicked.Add(value); remove => this.EventManager.UnvalidatedUpdateTicked.Remove(value); } /********* ** Public methods *********/ /// Construct an instance. /// The mod which uses this instance. /// The underlying event manager. internal ModSpecialisedEvents(IModMetadata mod, EventManager eventManager) : base(mod, eventManager) { } } }