From d127436533fba5168a89501f5b442b6575ed3723 Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Sun, 27 Mar 2016 01:32:15 -0400 Subject: fixes bugs --- StardewModdingAPI/Inheritance/SGame.cs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'StardewModdingAPI/Inheritance') diff --git a/StardewModdingAPI/Inheritance/SGame.cs b/StardewModdingAPI/Inheritance/SGame.cs index f1887253..b6fe727b 100644 --- a/StardewModdingAPI/Inheritance/SGame.cs +++ b/StardewModdingAPI/Inheritance/SGame.cs @@ -201,6 +201,14 @@ namespace StardewModdingAPI.Inheritance /// public static bool Debug { get; private set; } + /// + /// A queue of messages to log when Debug is true. + /// If debug is false this queue will be emptied every frame. + /// Do not add to the queue if debug is false. + /// The queue will be drawn once every Draw update. + /// + public static Queue DebugMessageQueue { get; private set; } + /// /// The current player (equal to Farmer.Player) /// @@ -363,6 +371,7 @@ namespace StardewModdingAPI.Inheritance { Log.AsyncY("XNA Initialize"); //ModItems = new Dictionary(); + DebugMessageQueue = new Queue(); PreviouslyPressedButtons = new Buttons[4][]; for (var i = 0; i < 4; ++i) PreviouslyPressedButtons[i] = new Buttons[0]; @@ -499,9 +508,22 @@ namespace StardewModdingAPI.Inheritance if (Debug) { spriteBatch.Begin(); - spriteBatch.DrawString(dialogueFont, "FPS: " + FramesPerSecond, Vector2.Zero, Color.CornflowerBlue); + spriteBatch.DrawString(smoothFont, "FPS: " + FramesPerSecond, Vector2.Zero, Color.CornflowerBlue); + + int i = 1; + while (DebugMessageQueue.Any()) + { + string s = DebugMessageQueue.Dequeue(); + spriteBatch.DrawString(smoothFont, s, new Vector2(0, i * 12), Color.CornflowerBlue); + i++; + } + GraphicsEvents.InvokeDrawDebug(null, null); spriteBatch.End(); } + else + { + DebugMessageQueue.Clear(); + } } [Obsolete("Do not use at this time.")] -- cgit