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()