From b4582b6188d500d20cb3f19610fc7d7a5b8d5b99 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Wed, 21 Feb 2018 23:43:40 +0200 Subject: [PATCH] Fixed launcher throwing a null reference exception because of a reference to GameMain in PlayerInput --- .../BarotraumaClient/Source/GameMain.cs | 7 ++-- .../BarotraumaClient/Source/PlayerInput.cs | 33 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs index 455460df4..a85b426ad 100644 --- a/Barotrauma/BarotraumaClient/Source/GameMain.cs +++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs @@ -360,8 +360,11 @@ namespace Barotrauma fixedTime.ElapsedGameTime = addTime; fixedTime.TotalGameTime.Add(addTime); base.Update(fixedTime); - - PlayerInput.Update(Timing.Step); + + if (WindowActive) + { + PlayerInput.Update(Timing.Step); + } if (loadingScreenOpen) { diff --git a/Barotrauma/BarotraumaClient/Source/PlayerInput.cs b/Barotrauma/BarotraumaClient/Source/PlayerInput.cs index bbff9c1f7..3b568d584 100644 --- a/Barotrauma/BarotraumaClient/Source/PlayerInput.cs +++ b/Barotrauma/BarotraumaClient/Source/PlayerInput.cs @@ -143,27 +143,24 @@ namespace Barotrauma { timeSinceClick += deltaTime; - if (GameMain.Instance.IsActive) + oldMouseState = mouseState; + mouseState = latestMouseState; + UpdateVariable(); + + oldKeyboardState = keyboardState; + keyboardState = Keyboard.GetState(); + + doubleClicked = false; + if (LeftButtonClicked()) { - oldMouseState = mouseState; - mouseState = latestMouseState; - UpdateVariable(); - - oldKeyboardState = keyboardState; - keyboardState = Keyboard.GetState(); - - doubleClicked = false; - if (LeftButtonClicked()) + if (timeSinceClick < DoubleClickDelay && + (mouseState.Position - lastClickPosition).ToVector2().Length() < MaxDoubleClickDistance) { - if (timeSinceClick < DoubleClickDelay && - (mouseState.Position - lastClickPosition).ToVector2().Length() < MaxDoubleClickDistance) - { - doubleClicked = true; - } - lastClickPosition = mouseState.Position; - timeSinceClick = 0.0; + doubleClicked = true; } - } + lastClickPosition = mouseState.Position; + timeSinceClick = 0.0; + } } public static void UpdateVariable()