// getNestAnscestorId.js
(function () {
/* global AdventureJS A */
var p = AdventureJS.Assets.Character.prototype;
/**
* @memberOf AdventureJS.Assets.Character
* @method AdventureJS.Assets.Character#getNestAnscestorId
* @returns {String}
*/
p.getNestAnscestorId = function Character_getNestAnscestorId() {
if (!this.isNested()) {
return "";
}
var child, parent_asset;
if (this.getNestAsset) child = this.getNestAsset();
if (child.getParentAsset) parent_asset = child.getParentAsset();
// child parent is room
if (parent_asset && parent_asset instanceof AdventureJS.Assets.Room) {
return child.id;
}
while (parent_asset) {
child = parent_asset;
parent_asset = parent_asset.getPlaceAsset();
if (parent_asset && parent_asset instanceof AdventureJS.Assets.Room) {
return child.id;
}
}
return "";
};
})();