// getAllNestedContents.js
(function () {
/* global AdventureJS A */
var p = AdventureJS.Assets.Entity.prototype;
/**
* Returns a list of all assets nested within this asset.
* This is a deep search.
* @memberOf AdventureJS.Assets.Entity
* @method AdventureJS.Assets.Entity#getAllNestedContents
* @return {Array}
*/
p.getAllNestedContents = p.getInventory =
function Entity_getAllNestedContents(attached = false) {
let contents = this.getAllContents(attached);
for (let i = 0; i < contents.length; i++) {
const child = this.game.getAsset(contents[i]);
if (!child) continue;
// const nestedContents = child.getAllNestedContents(contents);
const nestedContents = child.getAllNestedContents(attached);
for (var n = 0; n < nestedContents.length; n++) {
if (!contents.includes(nestedContents[n])) {
contents.push(nestedContents[n]);
}
}
}
return contents;
};
})();