22
33namespace StardewModdingAPI . Events
44{
5+ /// <summary>
6+ ///
7+ /// </summary>
58 public static class GraphicsEvents
69 {
10+ /// <summary>
11+ /// Occurs when the form (game) is resized.
12+ /// </summary>
713 public static event EventHandler Resize = delegate { } ;
8- public static event EventHandler DrawTick = delegate { } ;
9- public static event EventHandler DrawInRenderTargetTick = delegate { } ;
14+
15+
16+
17+ /// <summary>
18+ /// Occurs before anything is drawn.
19+ /// </summary>
20+ public static event EventHandler OnPreRenderEvent = delegate { } ;
21+
22+ /// <summary>
23+ /// Occurs before the GUI is drawn.
24+ /// </summary>
25+ public static event EventHandler OnPreRenderGuiEvent = delegate { } ;
26+
27+ /// <summary>
28+ /// Occurs after the GUI is drawn.
29+ /// </summary>
30+ public static event EventHandler OnPostRenderGuiEvent = delegate { } ;
31+
32+ /// <summary>
33+ /// Occurs before the HUD is drawn.
34+ /// </summary>
35+ public static event EventHandler OnPreRenderHudEvent = delegate { } ;
36+
37+ /// <summary>
38+ /// Occurs after the HUD is drawn.
39+ /// </summary>
40+ public static event EventHandler OnPostRenderHudEvent = delegate { } ;
41+
42+ /// <summary>
43+ /// Occurs after everything is drawn.
44+ /// </summary>
45+ public static event EventHandler OnPostRenderEvent = delegate { } ;
1046
1147 /// <summary>
1248 /// Draws when SGame.Debug is true. F3 toggles this.
@@ -16,6 +52,52 @@ public static class GraphicsEvents
1652 /// </summary>
1753 public static event EventHandler DrawDebug = delegate { } ;
1854
55+ internal static void InvokeDrawDebug ( object sender , EventArgs e )
56+ {
57+ DrawDebug . Invoke ( sender , e ) ;
58+ }
59+
60+ internal static void InvokeOnPreRenderEvent ( object sender , EventArgs e )
61+ {
62+ OnPreRenderEvent . Invoke ( sender , e ) ;
63+ }
64+
65+ internal static void InvokeOnPreRenderGuiEvent ( object sender , EventArgs e )
66+ {
67+ OnPreRenderGuiEvent . Invoke ( sender , e ) ;
68+ }
69+
70+ internal static void InvokeOnPostRenderGuiEvent ( object sender , EventArgs e )
71+ {
72+ OnPostRenderGuiEvent . Invoke ( sender , e ) ;
73+ }
74+
75+ internal static void InvokeOnPreRenderHudEvent ( object sender , EventArgs e )
76+ {
77+ OnPreRenderHudEvent . Invoke ( sender , e ) ;
78+ }
79+
80+ internal static void InvokeOnPostRenderHudEvent ( object sender , EventArgs e )
81+ {
82+ OnPostRenderHudEvent . Invoke ( sender , e ) ;
83+ }
84+
85+ internal static void InvokeOnPostRenderEvent ( object sender , EventArgs e )
86+ {
87+ OnPostRenderEvent . Invoke ( sender , e ) ;
88+ }
89+
90+
91+
92+ #region To Remove
93+
94+ [ Obsolete ( "Use the other Pre/Post render events instead." ) ]
95+ public static event EventHandler DrawTick = delegate { } ;
96+
97+ [ Obsolete ( "Use the other Pre/Post render events instead. All of them will automatically be drawn into the render target if needed." ) ]
98+ public static event EventHandler DrawInRenderTargetTick = delegate { } ;
99+
100+ [ Obsolete ( "Should not be used." ) ]
19101 public static void InvokeDrawTick ( )
20102 {
21103 try
@@ -28,19 +110,18 @@ public static void InvokeDrawTick()
28110 }
29111 }
30112
113+ [ Obsolete ( "Should not be used." ) ]
31114 public static void InvokeDrawInRenderTargetTick ( )
32115 {
33116 DrawInRenderTargetTick . Invoke ( null , EventArgs . Empty ) ;
34117 }
35118
119+ [ Obsolete ( "Should not be used." ) ]
36120 public static void InvokeResize ( object sender , EventArgs e )
37121 {
38122 Resize . Invoke ( sender , e ) ;
39123 }
40124
41- public static void InvokeDrawDebug ( object sender , EventArgs e )
42- {
43- DrawDebug . Invoke ( sender , e ) ;
44- }
125+ #endregion
45126 }
46127}
0 commit comments