diff --git a/src/kiss_flixel/GroupTools.kiss b/src/kiss_flixel/GroupTools.kiss index 38473d7..22be101 100644 --- a/src/kiss_flixel/GroupTools.kiss +++ b/src/kiss_flixel/GroupTools.kiss @@ -1,17 +1,12 @@ -(function :Void clearNulls <>[:FlxObject T] [:FlxTypedGroup 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 group :T obj] - (group.remove obj true) - (clearNulls group) - (group.add obj)) + (when (contains group.members obj) + (group.members.remove obj) + (group.members.push 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 group :T obj] - (group.remove obj true) - (group.insert 0 obj)) + (when (contains group.members obj) + (group.remove obj) + (group.insert 0 obj))) (function :FlxRect calculateBounds <>[:FlxObject T] [:FlxTypedGroup group &opt :Float margin] (unless margin (set margin 0))