// Intangible.js
(function () {
/* global AdventureJS A */
/**
* @ajspath AdventureJS.Atom.Asset.Concept
* @augments AdventureJS.Assets.Asset
* @class AdventureJS.Assets.Concept
* @ajsconstruct MyGame.createAsset({ "class": "Concept", "name": "foo", [...] })
* @ajsconstructedby AdventureJS.Game#createAsset
* @ajsnavheading GlobalAssets
* @param {String} game_name Name of top level game instance that is scoped to window.
* @param {String} name Instance name.
* @summary Base class for abtract concepts such as string and number.
* @classdesc
* <p>
* The Concept class is used for abstract concepts
* that a player might input, including strings and numbers,
* such as "say 'foo' to clerk" or "type 42 on keypad".
* Also includes turns and minutes for cases like
* "wait 10 turns" or "wait 15 minutes."
**/
class Concept extends AdventureJS.Assets.Asset {
constructor(name, game_name, context_id = "", id = "") {
super(name, game_name, context_id, id);
this.class = "Concept";
this.is.abstract = true;
this.is.singleton = true;
this.is.global = true;
this.is.known = true;
this.is.seen = true;
// write "foo" on page
// write "foo" on page with pen
// this.setDOV("write");
// say "hello" to man
// this.setDOV("say");
//type "hello" on keyboard
// this.setDOV("type");
// enter "hello" on
// this.setDOV("enter");
}
}
AdventureJS.Assets.Concept = Concept;
})();