From 2955657cb4b3646fb04fe47d12b74d20ac9c9a36 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 17 Aug 2022 23:38:14 +0000 Subject: [PATCH] drag to select fix deselection when clicking background --- .../kiss-flixel/src/kiss_flixel/DragToSelectPlugin.hx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/projects/kiss-flixel/src/kiss_flixel/DragToSelectPlugin.hx b/projects/kiss-flixel/src/kiss_flixel/DragToSelectPlugin.hx index 98e67beb..2fb20af0 100644 --- a/projects/kiss-flixel/src/kiss_flixel/DragToSelectPlugin.hx +++ b/projects/kiss-flixel/src/kiss_flixel/DragToSelectPlugin.hx @@ -56,15 +56,18 @@ class DragToSelectPlugin extends FlxBasic { dragStates[FlxG.state].selectedSprites = []; } + var wasJustPressed = false; + public override function update(elapsed:Float) { if (dragStates.exists(FlxG.state)) { var dragState = dragStates[FlxG.state]; dragState.debugLayer.clear(); - // Might have to skip a frame after justPressed, so KissExtendedSprites + // have to skip a frame after justPressed, so KissExtendedSprites // can get first access to the mouse input if (FlxMouseControl.dragTarget == null) { - if (FlxG.mouse.justPressed) { + if (wasJustPressed && FlxMouseControl.clickTarget == null) { + deselectSprites(); dragState.firstCorner = FlxG.mouse.getWorldPosition(dragState.camera); } dragState.secondCorner = FlxG.mouse.getWorldPosition(dragState.camera); @@ -111,6 +114,7 @@ class DragToSelectPlugin extends FlxBasic { } } } + wasJustPressed = FlxG.mouse.justPressed; } } } \ No newline at end of file