Pre-release
AdventureJS Docs Downloads Bundler Devlog Score: 0 Moves: 0
// updateObjectDescriptionWidgets.js

(function () {
  /* global AdventureJS A */

  var p = AdventureJS.Display.prototype;

  /**
   * Update object description in object description widgets.
   * @method AdventureJS.Display#updateObjectDescriptionWidgets
   * @param {String} output
   * @param {Object} asset
   * @TODO handle images
   */
  p.updateObjectDescriptionWidgets =
    function Display_updateObjectDescriptionWidgets(output = "", asset = null) {
      if (this.object_description_widgets.length === 0) return;

      if (output && asset)
        output = `
        ${A.FX.capitalize(asset.name)}<br/>${output}
      `;
      output = this.game.renderPlaceholders(output);
      if (asset?.image) {
        output += `
          <span class="ajs-inventory-image ajs-image-container">
            ${this.game.getImage(asset.image)}
          </span>`;
      }

      output = `
      <div class="ajs-inner ajs-scroll-container">
        <div class="ajs-scroll-content">
          <div class="ajs-object-description-container">
              ${output}
          </div>
        </div>
      </div>
    `;

      this.object_description_widgets.forEach(function (widget) {
        widget.innerHTML = output;
      });
    };
})();