From 863b6cb0448f1dfdca69e14e018c4820f3075b81 Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 27 Mar 2016 03:52:43 -0400 Subject: holy fucking shit fuck my life --- StardewModdingAPI/Events/Time.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Time.cs b/StardewModdingAPI/Events/Time.cs index 56b23dc3..339cd560 100644 --- a/StardewModdingAPI/Events/Time.cs +++ b/StardewModdingAPI/Events/Time.cs @@ -8,6 +8,7 @@ namespace StardewModdingAPI.Events public static event EventHandler DayOfMonthChanged = delegate { }; public static event EventHandler YearOfGameChanged = delegate { }; public static event EventHandler SeasonOfYearChanged = delegate { }; + public static event EventHandler OnNewDay = delegate { }; public static void InvokeTimeOfDayChanged(int priorInt, int newInt) { @@ -28,5 +29,10 @@ namespace StardewModdingAPI.Events { SeasonOfYearChanged.Invoke(null, new EventArgsStringChanged(priorString, newString)); } + + public static void InvokeOnNewDay(int priorInt, int newInt) + { + OnNewDay.Invoke(null, new EventArgsIntChanged(priorInt, newInt)); + } } } \ No newline at end of file -- cgit From 668b6b10b588d2f0fbe98ad75e0d4c256b6b13bb Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 27 Mar 2016 04:30:17 -0400 Subject: fuck you @CJBok --- StardewModdingAPI/Events/Graphics.cs | 93 +++++++++++++++++++++++++++++++++--- 1 file changed, 87 insertions(+), 6 deletions(-) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Graphics.cs b/StardewModdingAPI/Events/Graphics.cs index 2b91144a..79c5b4aa 100644 --- a/StardewModdingAPI/Events/Graphics.cs +++ b/StardewModdingAPI/Events/Graphics.cs @@ -2,11 +2,47 @@ namespace StardewModdingAPI.Events { + /// + /// + /// public static class GraphicsEvents { + /// + /// Occurs when the form (game) is resized. + /// public static event EventHandler Resize = delegate { }; - public static event EventHandler DrawTick = delegate { }; - public static event EventHandler DrawInRenderTargetTick = delegate { }; + + + + /// + /// Occurs before anything is drawn. + /// + public static event EventHandler OnPreRenderEvent = delegate { }; + + /// + /// Occurs before the GUI is drawn. + /// + public static event EventHandler OnPreRenderGuiEvent = delegate { }; + + /// + /// Occurs after the GUI is drawn. + /// + public static event EventHandler OnPostRenderGuiEvent = delegate { }; + + /// + /// Occurs before the HUD is drawn. + /// + public static event EventHandler OnPreRenderHudEvent = delegate { }; + + /// + /// Occurs after the HUD is drawn. + /// + public static event EventHandler OnPostRenderHudEvent = delegate { }; + + /// + /// Occurs after everything is drawn. + /// + public static event EventHandler OnPostRenderEvent = delegate { }; /// /// Draws when SGame.Debug is true. F3 toggles this. @@ -16,6 +52,52 @@ namespace StardewModdingAPI.Events /// public static event EventHandler DrawDebug = delegate { }; + internal static void InvokeDrawDebug(object sender, EventArgs e) + { + DrawDebug.Invoke(sender, e); + } + + internal static void InvokeOnPreRenderEvent(object sender, EventArgs e) + { + OnPreRenderEvent.Invoke(sender, e); + } + + internal static void InvokeOnPreRenderGuiEvent(object sender, EventArgs e) + { + OnPreRenderGuiEvent.Invoke(sender, e); + } + + internal static void InvokeOnPostRenderGuiEvent(object sender, EventArgs e) + { + OnPostRenderGuiEvent.Invoke(sender, e); + } + + internal static void InvokeOnPreRenderHudEvent(object sender, EventArgs e) + { + OnPreRenderHudEvent.Invoke(sender, e); + } + + internal static void InvokeOnPostRenderHudEvent(object sender, EventArgs e) + { + OnPostRenderHudEvent.Invoke(sender, e); + } + + internal static void InvokeOnPostRenderEvent(object sender, EventArgs e) + { + OnPostRenderEvent.Invoke(sender, e); + } + + + + #region To Remove + + [Obsolete("Use the other Pre/Post render events instead.")] + public static event EventHandler DrawTick = delegate { }; + + [Obsolete("Use the other Pre/Post render events instead. All of them will automatically be drawn into the render target if needed.")] + public static event EventHandler DrawInRenderTargetTick = delegate { }; + + [Obsolete("Should not be used.")] public static void InvokeDrawTick() { try @@ -28,19 +110,18 @@ namespace StardewModdingAPI.Events } } + [Obsolete("Should not be used.")] public static void InvokeDrawInRenderTargetTick() { DrawInRenderTargetTick.Invoke(null, EventArgs.Empty); } + [Obsolete("Should not be used.")] public static void InvokeResize(object sender, EventArgs e) { Resize.Invoke(sender, e); } - public static void InvokeDrawDebug(object sender, EventArgs e) - { - DrawDebug.Invoke(sender, e); - } + #endregion } } \ No newline at end of file -- cgit From 2cce7c2d27d0d678563d35c69f6879168bff53e4 Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 27 Mar 2016 05:05:36 -0400 Subject: invocations are now internal --- StardewModdingAPI/Events/Controls.cs | 16 ++++++++-------- StardewModdingAPI/Events/EventArgs.cs | 13 +++++++++++++ StardewModdingAPI/Events/Game.cs | 22 +++++++++++----------- StardewModdingAPI/Events/Location.cs | 4 ++-- StardewModdingAPI/Events/Menu.cs | 2 +- StardewModdingAPI/Events/Mine.cs | 2 +- StardewModdingAPI/Events/Player.cs | 8 ++++---- StardewModdingAPI/Events/Time.cs | 14 +++++++------- 8 files changed, 47 insertions(+), 34 deletions(-) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Controls.cs b/StardewModdingAPI/Events/Controls.cs index 87319f37..6415561a 100644 --- a/StardewModdingAPI/Events/Controls.cs +++ b/StardewModdingAPI/Events/Controls.cs @@ -15,42 +15,42 @@ namespace StardewModdingAPI.Events public static event EventHandler ControllerTriggerPressed = delegate { }; public static event EventHandler ControllerTriggerReleased = delegate { }; - public static void InvokeKeyboardChanged(KeyboardState priorState, KeyboardState newState) + internal static void InvokeKeyboardChanged(KeyboardState priorState, KeyboardState newState) { KeyboardChanged.Invoke(null, new EventArgsKeyboardStateChanged(priorState, newState)); } - public static void InvokeMouseChanged(MouseState priorState, MouseState newState) + internal static void InvokeMouseChanged(MouseState priorState, MouseState newState) { MouseChanged.Invoke(null, new EventArgsMouseStateChanged(priorState, newState)); } - public static void InvokeKeyPressed(Keys key) + internal static void InvokeKeyPressed(Keys key) { KeyPressed.Invoke(null, new EventArgsKeyPressed(key)); } - public static void InvokeKeyReleased(Keys key) + internal static void InvokeKeyReleased(Keys key) { KeyReleased.Invoke(null, new EventArgsKeyPressed(key)); } - public static void InvokeButtonPressed(PlayerIndex playerIndex, Buttons buttons) + internal static void InvokeButtonPressed(PlayerIndex playerIndex, Buttons buttons) { ControllerButtonPressed.Invoke(null, new EventArgsControllerButtonPressed(playerIndex, buttons)); } - public static void InvokeButtonReleased(PlayerIndex playerIndex, Buttons buttons) + internal static void InvokeButtonReleased(PlayerIndex playerIndex, Buttons buttons) { ControllerButtonReleased.Invoke(null, new EventArgsControllerButtonReleased(playerIndex, buttons)); } - public static void InvokeTriggerPressed(PlayerIndex playerIndex, Buttons buttons, float value) + internal static void InvokeTriggerPressed(PlayerIndex playerIndex, Buttons buttons, float value) { ControllerTriggerPressed.Invoke(null, new EventArgsControllerTriggerPressed(playerIndex, buttons, value)); } - public static void InvokeTriggerReleased(PlayerIndex playerIndex, Buttons buttons, float value) + internal static void InvokeTriggerReleased(PlayerIndex playerIndex, Buttons buttons, float value) { ControllerTriggerReleased.Invoke(null, new EventArgsControllerTriggerReleased(playerIndex, buttons, value)); } diff --git a/StardewModdingAPI/Events/EventArgs.cs b/StardewModdingAPI/Events/EventArgs.cs index 91151e86..d057796a 100644 --- a/StardewModdingAPI/Events/EventArgs.cs +++ b/StardewModdingAPI/Events/EventArgs.cs @@ -236,6 +236,19 @@ namespace StardewModdingAPI.Events public bool LoadedGame { get; private set; } } + public class EventArgsNewDay : EventArgs + { + public EventArgsNewDay(int prevDay, int curDay, bool newDay) + { + PreviousDay = prevDay; + CurrentDay = curDay; + IsNewDay = newDay; + } + + public int PreviousDay { get; private set; } + public int CurrentDay { get; private set; } + public bool IsNewDay { get; private set; } + } public class EventArgsCommand : EventArgs { diff --git a/StardewModdingAPI/Events/Game.cs b/StardewModdingAPI/Events/Game.cs index c8052962..8b8042ed 100644 --- a/StardewModdingAPI/Events/Game.cs +++ b/StardewModdingAPI/Events/Game.cs @@ -44,12 +44,12 @@ namespace StardewModdingAPI.Events /// public static event EventHandler OneSecondTick = delegate { }; - public static void InvokeGameLoaded() + internal static void InvokeGameLoaded() { GameLoaded.Invoke(null, EventArgs.Empty); } - public static void InvokeInitialize() + internal static void InvokeInitialize() { try { @@ -61,7 +61,7 @@ namespace StardewModdingAPI.Events } } - public static void InvokeLoadContent() + internal static void InvokeLoadContent() { try { @@ -73,7 +73,7 @@ namespace StardewModdingAPI.Events } } - public static void InvokeUpdateTick() + internal static void InvokeUpdateTick() { try { @@ -85,37 +85,37 @@ namespace StardewModdingAPI.Events } } - public static void InvokeSecondUpdateTick() + internal static void InvokeSecondUpdateTick() { SecondUpdateTick.Invoke(null, EventArgs.Empty); } - public static void InvokeFourthUpdateTick() + internal static void InvokeFourthUpdateTick() { FourthUpdateTick.Invoke(null, EventArgs.Empty); } - public static void InvokeEighthUpdateTick() + internal static void InvokeEighthUpdateTick() { EighthUpdateTick.Invoke(null, EventArgs.Empty); } - public static void InvokeQuarterSecondTick() + internal static void InvokeQuarterSecondTick() { QuarterSecondTick.Invoke(null, EventArgs.Empty); } - public static void InvokeHalfSecondTick() + internal static void InvokeHalfSecondTick() { HalfSecondTick.Invoke(null, EventArgs.Empty); } - public static void InvokeOneSecondTick() + internal static void InvokeOneSecondTick() { OneSecondTick.Invoke(null, EventArgs.Empty); } - public static void InvokeFirstUpdateTick() + internal static void InvokeFirstUpdateTick() { FirstUpdateTick.Invoke(null, EventArgs.Empty); } diff --git a/StardewModdingAPI/Events/Location.cs b/StardewModdingAPI/Events/Location.cs index d5b6cdec..f951ab95 100644 --- a/StardewModdingAPI/Events/Location.cs +++ b/StardewModdingAPI/Events/Location.cs @@ -12,12 +12,12 @@ namespace StardewModdingAPI.Events public static event EventHandler LocationObjectsChanged = delegate { }; public static event EventHandler CurrentLocationChanged = delegate { }; - public static void InvokeLocationsChanged(List newLocations) + internal static void InvokeLocationsChanged(List newLocations) { LocationsChanged.Invoke(null, new EventArgsGameLocationsChanged(newLocations)); } - public static void InvokeCurrentLocationChanged(GameLocation priorLocation, GameLocation newLocation) + internal static void InvokeCurrentLocationChanged(GameLocation priorLocation, GameLocation newLocation) { CurrentLocationChanged.Invoke(null, new EventArgsCurrentLocationChanged(priorLocation, newLocation)); } diff --git a/StardewModdingAPI/Events/Menu.cs b/StardewModdingAPI/Events/Menu.cs index 8acfc863..466a364e 100644 --- a/StardewModdingAPI/Events/Menu.cs +++ b/StardewModdingAPI/Events/Menu.cs @@ -7,7 +7,7 @@ namespace StardewModdingAPI.Events { public static event EventHandler MenuChanged = delegate { }; - public static void InvokeMenuChanged(IClickableMenu priorMenu, IClickableMenu newMenu) + internal static void InvokeMenuChanged(IClickableMenu priorMenu, IClickableMenu newMenu) { MenuChanged.Invoke(null, new EventArgsClickableMenuChanged(priorMenu, newMenu)); } diff --git a/StardewModdingAPI/Events/Mine.cs b/StardewModdingAPI/Events/Mine.cs index 2f89c91d..55514d42 100644 --- a/StardewModdingAPI/Events/Mine.cs +++ b/StardewModdingAPI/Events/Mine.cs @@ -6,7 +6,7 @@ namespace StardewModdingAPI.Events { public static event EventHandler MineLevelChanged = delegate { }; - public static void InvokeMineLevelChanged(int previousMinelevel, int currentMineLevel) + internal static void InvokeMineLevelChanged(int previousMinelevel, int currentMineLevel) { MineLevelChanged.Invoke(null, new EventArgsMineLevelChanged(previousMinelevel, currentMineLevel)); } diff --git a/StardewModdingAPI/Events/Player.cs b/StardewModdingAPI/Events/Player.cs index a658259e..22f572b7 100644 --- a/StardewModdingAPI/Events/Player.cs +++ b/StardewModdingAPI/Events/Player.cs @@ -12,22 +12,22 @@ namespace StardewModdingAPI.Events public static event EventHandler LeveledUp = delegate { }; public static event EventHandler LoadedGame = delegate { }; - public static void InvokeFarmerChanged(Farmer priorFarmer, Farmer newFarmer) + internal static void InvokeFarmerChanged(Farmer priorFarmer, Farmer newFarmer) { FarmerChanged.Invoke(null, new EventArgsFarmerChanged(priorFarmer, newFarmer)); } - public static void InvokeInventoryChanged(List inventory, List changedItems) + internal static void InvokeInventoryChanged(List inventory, List changedItems) { InventoryChanged.Invoke(null, new EventArgsInventoryChanged(inventory, changedItems)); } - public static void InvokeLeveledUp(EventArgsLevelUp.LevelType type, int newLevel) + internal static void InvokeLeveledUp(EventArgsLevelUp.LevelType type, int newLevel) { LeveledUp.Invoke(null, new EventArgsLevelUp(type, newLevel)); } - public static void InvokeLoadedGame(EventArgsLoadedGameChanged loaded) + internal static void InvokeLoadedGame(EventArgsLoadedGameChanged loaded) { LoadedGame.Invoke(null, loaded); } diff --git a/StardewModdingAPI/Events/Time.cs b/StardewModdingAPI/Events/Time.cs index 339cd560..f60fa0c4 100644 --- a/StardewModdingAPI/Events/Time.cs +++ b/StardewModdingAPI/Events/Time.cs @@ -8,31 +8,31 @@ namespace StardewModdingAPI.Events public static event EventHandler DayOfMonthChanged = delegate { }; public static event EventHandler YearOfGameChanged = delegate { }; public static event EventHandler SeasonOfYearChanged = delegate { }; - public static event EventHandler OnNewDay = delegate { }; + public static event EventHandler OnNewDay = delegate { }; - public static void InvokeTimeOfDayChanged(int priorInt, int newInt) + internal static void InvokeTimeOfDayChanged(int priorInt, int newInt) { TimeOfDayChanged.Invoke(null, new EventArgsIntChanged(priorInt, newInt)); } - public static void InvokeDayOfMonthChanged(int priorInt, int newInt) + internal static void InvokeDayOfMonthChanged(int priorInt, int newInt) { DayOfMonthChanged.Invoke(null, new EventArgsIntChanged(priorInt, newInt)); } - public static void InvokeYearOfGameChanged(int priorInt, int newInt) + internal static void InvokeYearOfGameChanged(int priorInt, int newInt) { YearOfGameChanged.Invoke(null, new EventArgsIntChanged(priorInt, newInt)); } - public static void InvokeSeasonOfYearChanged(string priorString, string newString) + internal static void InvokeSeasonOfYearChanged(string priorString, string newString) { SeasonOfYearChanged.Invoke(null, new EventArgsStringChanged(priorString, newString)); } - public static void InvokeOnNewDay(int priorInt, int newInt) + internal static void InvokeOnNewDay(int priorInt, int newInt, bool newDay) { - OnNewDay.Invoke(null, new EventArgsIntChanged(priorInt, newInt)); + OnNewDay.Invoke(null, new EventArgsNewDay(priorInt, newInt, newDay)); } } } \ No newline at end of file -- cgit From a387d024f074074d61955eb52fb83002d8440bbb Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 27 Mar 2016 06:40:09 -0400 Subject: updates --- StardewModdingAPI/Events/Time.cs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'StardewModdingAPI/Events') diff --git a/StardewModdingAPI/Events/Time.cs b/StardewModdingAPI/Events/Time.cs index f60fa0c4..39ca642a 100644 --- a/StardewModdingAPI/Events/Time.cs +++ b/StardewModdingAPI/Events/Time.cs @@ -8,6 +8,10 @@ namespace StardewModdingAPI.Events public static event EventHandler DayOfMonthChanged = delegate { }; public static event EventHandler YearOfGameChanged = delegate { }; public static event EventHandler SeasonOfYearChanged = delegate { }; + + /// + /// Occurs when Game1.newDay changes. True directly before saving, and False directly after. + /// public static event EventHandler OnNewDay = delegate { }; internal static void InvokeTimeOfDayChanged(int priorInt, int newInt) -- cgit