Mouse clicks have to be <10 pixels apart to be considered a double click. Closes #170

This commit is contained in:
Joonas Rikkonen
2018-01-09 11:07:37 +02:00
parent 093fb12d0b
commit ac704cdaae
@@ -10,8 +10,10 @@ namespace Barotrauma
static KeyboardState keyboardState, oldKeyboardState; static KeyboardState keyboardState, oldKeyboardState;
static double timeSinceClick; static double timeSinceClick;
static Point lastClickPosition;
const double doubleClickDelay = 0.4; const float DoubleClickDelay = 0.4f;
const float MaxDoubleClickDistance = 10.0f;
static bool doubleClicked; static bool doubleClicked;
@@ -151,7 +153,12 @@ namespace Barotrauma
doubleClicked = false; doubleClicked = false;
if (LeftButtonClicked()) if (LeftButtonClicked())
{ {
if (timeSinceClick < doubleClickDelay) doubleClicked = true; if (timeSinceClick < DoubleClickDelay &&
(mouseState.Position - lastClickPosition).ToVector2().Length() < MaxDoubleClickDistance)
{
doubleClicked = true;
}
lastClickPosition = mouseState.Position;
timeSinceClick = 0.0; timeSinceClick = 0.0;
} }
} }