Merge pull request #97 from Zoryn4163/master
graphics events for rendering
This commit is contained in:
commit
0b1fdc9b84
|
@ -42,6 +42,27 @@ namespace StardewModdingAPI.Events
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static event EventHandler OnPostRenderEvent = delegate { };
|
public static event EventHandler OnPostRenderEvent = delegate { };
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs before the GUI is drawn. Does not check for conditional statements.
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public static event EventHandler OnPreRenderGuiEventNoCheck = delegate { };
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs after the GUI is drawn. Does not check for conditional statements.
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public static event EventHandler OnPostRenderGuiEventNoCheck = delegate { };
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs before the HUD is drawn. Does not check for conditional statements.
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public static event EventHandler OnPreRenderHudEventNoCheck = delegate { };
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs after the HUD is drawn. Does not check for conditional statements.
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public static event EventHandler OnPostRenderHudEventNoCheck = delegate { };
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Draws when SGame.Debug is true. F3 toggles this.
|
/// Draws when SGame.Debug is true. F3 toggles this.
|
||||||
/// Game1.spriteBatch.Begin() is pre-called.
|
/// Game1.spriteBatch.Begin() is pre-called.
|
||||||
|
@ -85,6 +106,26 @@ namespace StardewModdingAPI.Events
|
||||||
OnPostRenderEvent.Invoke(sender, e);
|
OnPostRenderEvent.Invoke(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static void InvokeOnPreRenderGuiEventNoCheck(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnPreRenderGuiEventNoCheck.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void InvokeOnPostRenderGuiEventNoCheck(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnPostRenderGuiEventNoCheck.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void InvokeOnPreRenderHudEventNoCheck(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnPreRenderHudEventNoCheck.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void InvokeOnPostRenderHudEventNoCheck(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnPostRenderHudEventNoCheck.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
internal static void InvokeResize(object sender, EventArgs e)
|
internal static void InvokeResize(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Resize.Invoke(sender, e);
|
Resize.Invoke(sender, e);
|
||||||
|
|
|
@ -1219,6 +1219,8 @@ namespace StardewModdingAPI.Inheritance
|
||||||
{
|
{
|
||||||
drawBillboard();
|
drawBillboard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GraphicsEvents.InvokeOnPreRenderHudEventNoCheck(null, EventArgs.Empty);
|
||||||
if ((displayHUD || eventUp) && currentBillboard == 0 && gameMode == 3 && !freezeControls && !panMode)
|
if ((displayHUD || eventUp) && currentBillboard == 0 && gameMode == 3 && !freezeControls && !panMode)
|
||||||
{
|
{
|
||||||
GraphicsEvents.InvokeOnPreRenderHudEvent(null, EventArgs.Empty);
|
GraphicsEvents.InvokeOnPreRenderHudEvent(null, EventArgs.Empty);
|
||||||
|
@ -1231,6 +1233,8 @@ namespace StardewModdingAPI.Inheritance
|
||||||
{
|
{
|
||||||
spriteBatch.Draw(mouseCursors, new Vector2(getOldMouseX(), getOldMouseY()), getSourceRectForStandardTileSheet(mouseCursors, 0, 16, 16), Color.White, 0f, Vector2.Zero, 4f + dialogueButtonScale / 150f, SpriteEffects.None, 1f);
|
spriteBatch.Draw(mouseCursors, new Vector2(getOldMouseX(), getOldMouseY()), getSourceRectForStandardTileSheet(mouseCursors, 0, 16, 16), Color.White, 0f, Vector2.Zero, 4f + dialogueButtonScale / 150f, SpriteEffects.None, 1f);
|
||||||
}
|
}
|
||||||
|
GraphicsEvents.InvokeOnPostRenderHudEventNoCheck(null, EventArgs.Empty);
|
||||||
|
|
||||||
if (hudMessages.Any() && (!eventUp || isFestival()))
|
if (hudMessages.Any() && (!eventUp || isFestival()))
|
||||||
{
|
{
|
||||||
for (int l = hudMessages.Count - 1; l >= 0; l--)
|
for (int l = hudMessages.Count - 1; l >= 0; l--)
|
||||||
|
@ -1299,6 +1303,8 @@ namespace StardewModdingAPI.Inheritance
|
||||||
{
|
{
|
||||||
spriteBatch.DrawString(smallFont, keyHelpString, new Vector2(tileSize, viewport.Height - tileSize - (dialogueUp ? (tileSize * 3 + (isQuestion ? (questionChoices.Count * tileSize) : 0)) : 0) - smallFont.MeasureString(keyHelpString).Y), Color.LightGray, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.9999999f);
|
spriteBatch.DrawString(smallFont, keyHelpString, new Vector2(tileSize, viewport.Height - tileSize - (dialogueUp ? (tileSize * 3 + (isQuestion ? (questionChoices.Count * tileSize) : 0)) : 0) - smallFont.MeasureString(keyHelpString).Y), Color.LightGray, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.9999999f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GraphicsEvents.InvokeOnPreRenderGuiEventNoCheck(null, EventArgs.Empty);
|
||||||
if (activeClickableMenu != null)
|
if (activeClickableMenu != null)
|
||||||
{
|
{
|
||||||
GraphicsEvents.InvokeOnPreRenderGuiEvent(null, EventArgs.Empty);
|
GraphicsEvents.InvokeOnPreRenderGuiEvent(null, EventArgs.Empty);
|
||||||
|
@ -1309,6 +1315,7 @@ namespace StardewModdingAPI.Inheritance
|
||||||
{
|
{
|
||||||
farmEvent?.drawAboveEverything(spriteBatch);
|
farmEvent?.drawAboveEverything(spriteBatch);
|
||||||
}
|
}
|
||||||
|
GraphicsEvents.InvokeOnPostRenderGuiEventNoCheck(null, EventArgs.Empty);
|
||||||
|
|
||||||
GraphicsEvents.InvokeOnPostRenderEvent(null, EventArgs.Empty);
|
GraphicsEvents.InvokeOnPostRenderEvent(null, EventArgs.Empty);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
Loading…
Reference in New Issue