GroupTools.bringToFront() and sendToBack(). Close #97
This commit is contained in:
@@ -28,6 +28,7 @@ import HabitModel;
|
|||||||
import hx.strings.Strings;
|
import hx.strings.Strings;
|
||||||
import datetime.DateTime;
|
import datetime.DateTime;
|
||||||
using kiss_flixel.CameraTools;
|
using kiss_flixel.CameraTools;
|
||||||
|
using kiss_flixel.GroupTools;
|
||||||
|
|
||||||
import jigsawx.JigsawPiece;
|
import jigsawx.JigsawPiece;
|
||||||
import jigsawx.Jigsawx;
|
import jigsawx.Jigsawx;
|
||||||
|
@@ -173,6 +173,11 @@
|
|||||||
(set s.mouseStartDragCallback
|
(set s.mouseStartDragCallback
|
||||||
->:Void [s x y]
|
->:Void [s x y]
|
||||||
{
|
{
|
||||||
|
// Bring currently held pieces to the front:
|
||||||
|
(rewardSprites.bringToFront s)
|
||||||
|
(doFor connected (recursivelyConnectedPieces s)
|
||||||
|
(rewardSprites.bringToFront connected))
|
||||||
|
|
||||||
(set draggingSprite s)
|
(set draggingSprite s)
|
||||||
(set draggingLastPos (new FlxPoint s.x s.y))
|
(set draggingLastPos (new FlxPoint s.x s.y))
|
||||||
})
|
})
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
(function :Void clearNulls <>[:FlxObject T] [:FlxTypedGroup<T> group]
|
||||||
|
(while (contains group.members null)
|
||||||
|
(group.members.splice (group.members.lastIndexOf null) 1)))
|
||||||
|
|
||||||
|
// Because FlxGroup will fill elements into null gaps in groups, this method inefficiently clears null gaps
|
||||||
|
(function :Void bringToFront <>[:FlxObject T] [:FlxTypedGroup<T> group :T obj]
|
||||||
|
(group.remove obj true)
|
||||||
|
(clearNulls group)
|
||||||
|
(group.add obj))
|
||||||
|
|
||||||
|
// Because FlxGroup will fill elements into null gaps in groups, this method throws an error when a null gap is present
|
||||||
|
(function :Void sendToBack <>[:FlxObject T] [:FlxTypedGroup<T> group :T obj]
|
||||||
|
(group.remove obj true)
|
||||||
|
(group.insert 0 obj))
|
||||||
|
|
||||||
(function :FlxRect calculateBounds <>[:FlxObject T] [:FlxTypedGroup<T> group &opt :Float margin]
|
(function :FlxRect calculateBounds <>[:FlxObject T] [:FlxTypedGroup<T> group &opt :Float margin]
|
||||||
(unless margin (set margin 0))
|
(unless margin (set margin 0))
|
||||||
(let [&mut minX 0
|
(let [&mut minX 0
|
||||||
|
Reference in New Issue
Block a user