diff --git a/src/kiss_flixel/DragToSelectPlugin.hx b/src/kiss_flixel/DragToSelectPlugin.hx index 9722767..bf21dba 100644 --- a/src/kiss_flixel/DragToSelectPlugin.hx +++ b/src/kiss_flixel/DragToSelectPlugin.hx @@ -66,6 +66,11 @@ class DragToSelectPlugin extends FlxBasic { } public function deselectSprites() { + for (sprite in dragStates[FlxG.state].selectedSprites) { + if (sprite.onDeselected != null) { + sprite.onDeselected(); + } + } dragStates[FlxG.state].selectedSprites = []; } diff --git a/src/kiss_flixel/KissExtendedSprite.hx b/src/kiss_flixel/KissExtendedSprite.hx index 567a88d..fa20456 100644 --- a/src/kiss_flixel/KissExtendedSprite.hx +++ b/src/kiss_flixel/KissExtendedSprite.hx @@ -106,7 +106,11 @@ class KissExtendedSprite extends flixel.addons.display.FlxExtendedSprite { } var _dragToSelectEnabled = false; - public function enableDragToSelect(?state:FlxState, ?camera:FlxCamera) { + public var onSelected:Void->Void = null; + public var onDeselected:Void->Void; + public function enableDragToSelect(?onSelected:Void->Void, ?onDeselected:Void->Void, ?state:FlxState, ?camera:FlxCamera) { + this.onSelected = onSelected; + this.onDeselected = onDeselected; var plugin = FlxG.plugins.get(DragToSelectPlugin); if (plugin == null) { plugin = new DragToSelectPlugin(); @@ -149,7 +153,6 @@ class KissExtendedSprite extends flixel.addons.display.FlxExtendedSprite { } } - public var onSelected:Void->Void = null; public function pixelPerfectDrag() { return _dragPixelPerfect;