From badcea01557a4e35564a548291cc3cb23cc3b241 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 20 Aug 2022 14:43:07 +0000 Subject: [PATCH] Habit game Disable most mouse input when menu is open --- src/kiss_flixel/DragToSelectPlugin.hx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/kiss_flixel/DragToSelectPlugin.hx b/src/kiss_flixel/DragToSelectPlugin.hx index 4489234..9722767 100644 --- a/src/kiss_flixel/DragToSelectPlugin.hx +++ b/src/kiss_flixel/DragToSelectPlugin.hx @@ -80,14 +80,22 @@ class DragToSelectPlugin extends FlxBasic { var camera = dragState.camera; if (camera == null) camera = FlxG.camera; + // If FlxMouseControl has a mouseZone enabled, respect it + var mousePos = FlxG.mouse.getWorldPosition(camera); + if (FlxMouseControl.mouseZone != null && !FlxMouseControl.mouseZone.containsPoint(mousePos)) { + dragState.firstCorner = null; + dragState.secondCorner = null; + return; + } + // have to skip a frame after justPressed, so KissExtendedSprites // can get first access to the mouse input if (FlxMouseControl.dragTarget == null) { if (wasJustPressed && FlxMouseControl.clickTarget == null) { deselectSprites(); - dragState.firstCorner = FlxG.mouse.getWorldPosition(camera); + dragState.firstCorner = mousePos; } - dragState.secondCorner = FlxG.mouse.getWorldPosition(camera); + dragState.secondCorner = mousePos; if (dragState.firstCorner != null && dragState.selectedSprites.length == 0) { var rounded1 = dragState.firstCorner.copyTo(); var rounded2 = dragState.secondCorner.copyTo();