make circle dragging less intrusive in NAT
This commit is contained in:
@@ -29,7 +29,7 @@
|
|||||||
(this.scale.set scale scale)
|
(this.scale.set scale scale)
|
||||||
(updateHitbox))
|
(updateHitbox))
|
||||||
(enableMouseClicks false (hasComponent e Circle)) // pixel-perfect if the sprite is a circle
|
(enableMouseClicks false (hasComponent e Circle)) // pixel-perfect if the sprite is a circle
|
||||||
(enableMouseDrag)
|
(enableMouseDrag false (hasComponent e Circle))
|
||||||
(set mouseStartDragCallback
|
(set mouseStartDragCallback
|
||||||
->[self _dx _dy]
|
->[self _dx _dy]
|
||||||
(doFor sprite (system.getSelectedSprites)
|
(doFor sprite (system.getSelectedSprites)
|
||||||
|
@@ -54,8 +54,11 @@
|
|||||||
(set mouseDown (FlxG.mouse.getScreenPosition))
|
(set mouseDown (FlxG.mouse.getScreenPosition))
|
||||||
(let [&mut clickedOnSomething false]
|
(let [&mut clickedOnSomething false]
|
||||||
(entryGroup.forEach
|
(entryGroup.forEach
|
||||||
->entrySprite
|
->:Void entrySprite
|
||||||
(when (.containsPoint (entrySprite.getScreenBounds) (FlxG.mouse.getScreenPosition))
|
(when (.containsPoint (entrySprite.getScreenBounds) (FlxG.mouse.getScreenPosition))
|
||||||
|
(when (hasComponent entrySprite.e Circle)
|
||||||
|
(unless (entrySprite.pixelsOverlapPoint (FlxG.mouse.getWorldPosition))
|
||||||
|
(return)))
|
||||||
(set clickedOnSomething true)
|
(set clickedOnSomething true)
|
||||||
(unless (controller.isSelected entrySprite.e)
|
(unless (controller.isSelected entrySprite.e)
|
||||||
(controller.SelectEntry entrySprite.e))))
|
(controller.SelectEntry entrySprite.e))))
|
||||||
@@ -92,7 +95,8 @@
|
|||||||
(entryGroup.forEach ->entrySprite
|
(entryGroup.forEach ->entrySprite
|
||||||
(let [overlaps (rectangle.overlaps (entrySprite.getScreenBounds))]
|
(let [overlaps (rectangle.overlaps (entrySprite.getScreenBounds))]
|
||||||
(when !(= overlaps (controller.isSelected entrySprite.e))
|
(when !(= overlaps (controller.isSelected entrySprite.e))
|
||||||
(controller.ToggleSelectEntry entrySprite.e))))))))
|
(unless (hasComponent entrySprite.e Circle)
|
||||||
|
(controller.ToggleSelectEntry entrySprite.e)))))))))
|
||||||
|
|
||||||
(FlxG.camera.calculateScrollBounds entryGroup SCROLL_BOUND_MARGIN))
|
(FlxG.camera.calculateScrollBounds entryGroup SCROLL_BOUND_MARGIN))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user