This is probably not such a good idea after all
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@547 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
@@ -43,30 +43,22 @@ public class DisplayUtil
|
|||||||
container :DisplayObjectContainer, comp :Function = null) :void
|
container :DisplayObjectContainer, comp :Function = null) :void
|
||||||
{
|
{
|
||||||
var numChildren :int = container.numChildren;
|
var numChildren :int = container.numChildren;
|
||||||
|
// put all children in an array
|
||||||
// since it's likely this function will be called frequently on the same
|
var children :Array = new Array(numChildren);
|
||||||
// DisplayObjectContainer, keep the Array around so that we're not
|
|
||||||
// re-allocating memory more often than we need to
|
|
||||||
if (_sortDisplayChildrenArray.length != numChildren) {
|
|
||||||
_sortDisplayChildrenArray = new Array(numChildren);
|
|
||||||
}
|
|
||||||
|
|
||||||
var ii :int;
|
var ii :int;
|
||||||
for (ii = 0; ii < numChildren; ii++) {
|
for (ii = 0; ii < numChildren; ii++) {
|
||||||
_sortDisplayChildrenArray[ii] = container.getChildAt(ii);
|
children[ii] = container.getChildAt(ii);
|
||||||
}
|
}
|
||||||
|
|
||||||
// stable sort the array
|
// stable sort the array
|
||||||
ArrayUtil.stableSort(_sortDisplayChildrenArray, comp);
|
ArrayUtil.stableSort(children, comp);
|
||||||
|
|
||||||
// set their new indexes
|
// set their new indexes
|
||||||
for (ii = 0; ii < numChildren; ii++) {
|
for (ii = 0; ii < numChildren; ii++) {
|
||||||
container.setChildIndex(DisplayObject(_sortDisplayChildrenArray[ii]), ii);
|
container.setChildIndex(DisplayObject(children[ii]), ii);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static var _sortDisplayChildrenArray :Array = [];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call the specified function for the display object and all descendants.
|
* Call the specified function for the display object and all descendants.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user