// renderIfAssetHasNot.js
(function () {
/* global AdventureJS A */
var p = AdventureJS.Game.prototype;
/**
*
* @method AdventureJS.Game#renderIfAssetHasNot
* @memberOf AdventureJS.Game
* @param {String} token
*/
p.renderIfAssetHasNot = function Game_renderIfAssetHasNot(token) {
let rendered = "";
let [, condition, substitution] = token.match(/^\[(.*?)\]\s*(.*)$/s);
let asset_name, asset, match, target, target_name;
// condition
// find asset name between if and is, and property after is
match = condition.match(/if\s+(.*?)\s+has\s+not\s+(.*)/s);
if (match) {
asset_name = match[1].trim();
target_name = match[2].trim(); // might still be two words
}
if (asset_name) asset = this.game.getAsset(asset_name);
if (target_name) target = this.game.getAsset(target_name);
if (!asset || !target || !asset.has(target)) {
rendered = substitution;
}
return rendered;
}; //
})();