diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-04-30 21:46:05 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-04-30 21:46:05 -0400 |
commit | 82ad4cef0ddca024db6df6d80358e54d965538dc (patch) | |
tree | 0f495fdf6ccec205bb05885007e08b9d42ca40ce /src | |
parent | 6a3ff5f151e1d47033d86e7f9b1004ee405c525c (diff) | |
download | SMAPI-82ad4cef0ddca024db6df6d80358e54d965538dc.tar.gz SMAPI-82ad4cef0ddca024db6df6d80358e54d965538dc.tar.bz2 SMAPI-82ad4cef0ddca024db6df6d80358e54d965538dc.zip |
fix input freeze on shipping screen (#482)
Diffstat (limited to 'src')
-rw-r--r-- | src/SMAPI/Framework/SGame.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/SMAPI/Framework/SGame.cs b/src/SMAPI/Framework/SGame.cs index a580d3eb..d9e90896 100644 --- a/src/SMAPI/Framework/SGame.cs +++ b/src/SMAPI/Framework/SGame.cs @@ -211,6 +211,17 @@ namespace StardewModdingAPI.Framework try { /********* + ** Update input + *********/ + // This should *always* run, even when suppressing mod events, since the game uses + // this too. For example, doing this after mod event suppression would prevent the + // user from doing anything on the overnight shipping screen. + SInputState previousInputState = this.Input.Clone(); + SInputState inputState = this.Input; + if (this.IsActive) + inputState.TrueUpdate(); + + /********* ** Skip conditions *********/ // SMAPI exiting, stop processing game updates @@ -388,12 +399,8 @@ namespace StardewModdingAPI.Framework /********* ** Input events (if window has focus) *********/ - if (Game1.game1.IsActive) + if (this.IsActive) { - SInputState previousInputState = this.Input.Clone(); - SInputState inputState = this.Input; - inputState.TrueUpdate(); - // raise events bool isChatInput = Game1.IsChatting || (Context.IsMultiplayer && Context.IsWorldReady && Game1.activeClickableMenu == null && Game1.currentMinigame == null && inputState.IsAnyDown(Game1.options.chatButton)); if (!isChatInput) |