From ab0fdb76b0cda10ca44d65e7fd691153bba7a27e Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 20 Mar 2016 20:52:26 -0400 Subject: adds some new events for the update loop --- StardewModdingAPI/Events/Game.cs | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Game.cs b/StardewModdingAPI/Events/Game.cs index 6290d2c7..60531dd8 100644 --- a/StardewModdingAPI/Events/Game.cs +++ b/StardewModdingAPI/Events/Game.cs @@ -11,7 +11,34 @@ namespace StardewModdingAPI.Events public static event EventHandler GameLoaded = delegate { }; public static event EventHandler Initialize = delegate { }; public static event EventHandler LoadContent = delegate { }; + /// + /// Fires every update (1/60 of a second) + /// public static event EventHandler UpdateTick = delegate { }; + /// + /// Fires every other update (1/30 of a second) + /// + public static event EventHandler SecondUpdateTick = delegate { }; + /// + /// Fires every fourth update (1/15 of a second) + /// + public static event EventHandler FourthUpdateTick = delegate { }; + /// + /// Fires every eighth update (roughly 1/8 of a second) + /// + public static event EventHandler EighthUpdateTick = delegate { }; + /// + /// Fires every fifthteenth update (1/4 of a second) + /// + public static event EventHandler QuarterSecondTick = delegate { }; + /// + /// Fires every thirtieth update (1/2 of a second) + /// + public static event EventHandler HalfSecondTick = delegate { }; + /// + /// Fires every sixtieth update (a second) + /// + public static event EventHandler OneSecondTick = delegate { }; public static void InvokeGameLoaded() { @@ -53,5 +80,35 @@ namespace StardewModdingAPI.Events Log.Error("An exception occured in XNA UpdateTick: " + ex.ToString()); } } + + public static void InvokeSecondUpdateTick() + { + SecondUpdateTick.Invoke(null, EventArgs.Empty); + } + + public static void InvokeFourthUpdateTick() + { + FourthUpdateTick.Invoke(null, EventArgs.Empty); + } + + public static void InvokeEighthUpdateTick() + { + EighthUpdateTick.Invoke(null, EventArgs.Empty); + } + + public static void InvokeQuarterSecondTick() + { + QuarterSecondTick.Invoke(null, EventArgs.Empty); + } + + public static void InvokeHalfSecondTick() + { + HalfSecondTick.Invoke(null, EventArgs.Empty); + } + + public static void InvokeOneSecondTick() + { + OneSecondTick.Invoke(null, EventArgs.Empty); + } } } -- cgit