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 From bda9adc35344ee85dd96e6b054e6d7a72134abd4 Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Mon, 21 Mar 2016 01:57:42 -0400 Subject: adds first update tick --- StardewModdingAPI/Events/Game.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Game.cs b/StardewModdingAPI/Events/Game.cs index 60531dd8..ac630ba9 100644 --- a/StardewModdingAPI/Events/Game.cs +++ b/StardewModdingAPI/Events/Game.cs @@ -11,6 +11,7 @@ namespace StardewModdingAPI.Events public static event EventHandler GameLoaded = delegate { }; public static event EventHandler Initialize = delegate { }; public static event EventHandler LoadContent = delegate { }; + public static event EventHandler FirstUpdateTick = delegate { }; /// /// Fires every update (1/60 of a second) /// @@ -110,5 +111,10 @@ namespace StardewModdingAPI.Events { OneSecondTick.Invoke(null, EventArgs.Empty); } + + public static void InvokeFirstUpdateTick() + { + FirstUpdateTick.Invoke(null, EventArgs.Empty); + } } } -- cgit