Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
// clearPrompt.js

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

  var p = adventurejs.Game.prototype;

  /**
   * Clear a user prompt.
   * @method adventurejs.Game#clearPrompt
   * @memberOf adventurejs.Game
   */
  p.clearPrompt = function Game_clearPrompt(e) {
    e.preventDefault();

    // removeEventListener
    document.removeEventListener(
      "keydown",
      window[`${this.game_name}_clearPrompt`]
    );

    // clear screen?
    // clear_on_continue
    if (this.game.state_vars.clear_on_continue) {
      this.game.display.clearOutput();
      this.game.state_vars.clear_on_continue = false;
    }

    // disable queueing
    this.game.enqueue_output = false;

    // print queued output, if any
    this.game.printQueue();

    if (this.game.state_vars.show_statusbar) {
      delete this.game.state_vars.show_statusbar;

      // game settings overrides introcard setting
      if (this.game.settings.show_statusbar) {
        this.game.display.showStatusbar();
      }
    }

    if (this.game.state_vars.show_titlebar) {
      delete this.game.state_vars.show_titlebar;

      // game settings overrides introcard setting
      if (this.game.settings.show_titlebar) {
        this.game.display.showTitlebar();
      }
    }
    this.game.display.inputEl.focus();
  };
})();