shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$childrenHelperMixin = function(global, require, module, exports) { var removeItems = require("module$node_modules$pixi_DOT_js$lib$utils$data$removeItems"), deprecation = require("module$node_modules$pixi_DOT_js$lib$utils$logging$deprecation"); "use strict"; exports.childrenHelperMixin = {allowChildren:!0, removeChildren(beginIndex = 0, endIndex) { var end = endIndex ?? this.children.length, range = end - beginIndex; endIndex = []; if (0 < range && range <= end) { for (range = end - 1; range >= beginIndex; range--) { const child = this.children[range]; child && (endIndex.push(child), child.parent = null); } removeItems.removeItems(this.children, beginIndex, end); (beginIndex = this.renderGroup || this.parentRenderGroup) && beginIndex.removeChildren(endIndex); for (beginIndex = 0; beginIndex < endIndex.length; ++beginIndex) { end = endIndex[beginIndex], end.parentRenderLayer?.detach(end), this.emit("childRemoved", end, this, beginIndex), endIndex[beginIndex].emit("removed", this); } 0 < endIndex.length && this._didViewChangeTick++; return endIndex; } if (0 === range && 0 === this.children.length) { return endIndex; } throw new RangeError("removeChildren: numeric values are outside the acceptable range."); }, removeChildAt(index) { index = this.getChildAt(index); return this.removeChild(index); }, getChildAt(index) { if (0 > index || index >= this.children.length) { throw Error(`getChildAt: Index (${index}) does not exist.`); } return this.children[index]; }, setChildIndex(child, index) { if (0 > index || index >= this.children.length) { throw Error(`The index ${index} supplied is out of bounds ${this.children.length}`); } this.getChildIndex(child); this.addChildAt(child, index); }, getChildIndex(child) { child = this.children.indexOf(child); if (-1 === child) { throw Error("The supplied Container must be a child of the caller"); } return child; }, addChildAt(child, index) { this.allowChildren || deprecation.deprecation(deprecation.v8_0_0, "addChildAt: Only Containers will be allowed to add children in v8.0.0"); var {children} = this; if (0 > index || index > children.length) { throw Error(`${child}addChildAt: The index ${index} supplied is out of bounds ${children.length}`); } const sameParent = child.parent === this; if (child.parent) { const currentIndex = child.parent.children.indexOf(child); if (sameParent) { if (currentIndex === index) { return child; } child.parent.children.splice(currentIndex, 1); } else { child.removeFromParent(); } } index === children.length ? children.push(child) : children.splice(index, 0, child); child.parent = this; child.didChange = !0; child._updateFlags = 15; (children = this.renderGroup || this.parentRenderGroup) && children.addChild(child); this.sortableChildren && (this.sortDirty = !0); if (sameParent) { return child; } this.emit("childAdded", child, this, index); child.emit("added", this); return child; }, swapChildren(child, child2) { if (child !== child2) { var index1 = this.getChildIndex(child), index2 = this.getChildIndex(child2); this.children[index1] = child2; this.children[index2] = child; if (child = this.renderGroup || this.parentRenderGroup) { child.structureDidChange = !0; } this._didContainerChangeTick++; } }, removeFromParent() { this.parent?.removeChild(this); }, reparentChild(...child) { if (1 === child.length) { return this.reparentChildAt(child[0], this.children.length); } child.forEach(c => this.reparentChildAt(c, this.children.length)); return child[0]; }, reparentChildAt(child, index) { if (child.parent === this) { return this.setChildIndex(child, index), child; } const childMat = child.worldTransform.clone(); child.removeFromParent(); this.addChildAt(child, index); index = this.worldTransform.clone(); index.invert(); childMat.prepend(index); child.setFromMatrix(childMat); return child; }, replaceChild(oldChild, newChild) { oldChild.updateLocalTransform(); this.addChildAt(newChild, this.getChildIndex(oldChild)); newChild.setFromMatrix(oldChild.localTransform); newChild.updateLocalTransform(); this.removeChild(oldChild); }}; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$childrenHelperMixin.js.map