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

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

  var p = adventurejs.Dictionary.prototype;

  /**
   * A method to allow authors to consolidate verbs.
   * @memberOf adventurejs.Dictionary
   * @method adventurejs.Dictionary#disableAllVerbsBut
   * @param {Array} enabled_verbs
   */
  p.disableAllVerbsBut = function (enabled_verbs) {
    // can take string or array, so convert to array
    if ("string" === typeof enabled_verbs) {
      enabled_verbs = [enabled_verbs];
    }
    var verbs = Object.keys(this.verbs);
    // for all verbs in our pre-defined verb list...
    for (var i = verbs.length - 1; i > -1; i--) {
      var verb = verbs[i];
      // is this verb in our new enabled verbs list?
      var index = enabled_verbs.indexOf(verbs[i]);
      if (-1 === index) {
        // if not, delete it
        delete this.verb_lookup[verb];
        delete this.verbs[verb];
      }
    }
  };
})();