Exemplo n.º 1
0
        public DisplayObjectX removeChildAt(int index, bool dispose = false)
        {
            if (index >= 0 && index < numChildren)
            {
                DisplayObjectX child = mChildren[index];
                child.simpleDispatch(EventX.REMOVED);

                if (stage != null)
                {
                    DisplayObjectContainerX container = child as DisplayObjectContainerX;
                    if (container != null)
                    {
                        container.broadcastEventWith(EventX.REMOVED_FROM_STAGE);
                    }
                    else
                    {
                        child.simpleDispatch(EventX.REMOVED_FROM_STAGE);
                    }
                }

                child.setParent(null);
                index = mChildren.IndexOf(child);
                if (index >= 0)
                {
                    mChildren.RemoveAt(index);
                }
                if (dispose)
                {
                    child.dispose();
                }

                return(child);
            }
            else
            {
                throw new RankException("Invalid child index");
            }
        }