// Control.js
(function () {
/*global adventurejs A*/
"use strict";
/**
* @ajspath adventurejs.Atom.Asset.Matter.Tangible.Thing.Control
* @augments adventurejs.Thing
* @class adventurejs.Control
* @ajsconstruct MyGame.createAsset({ "class":"Control", "name":"foo", [...] })
* @ajsconstructedby adventurejs.Game#createAsset
* @ajsnavheading ControlClasses
* @param {String} game_name The name of the top level game object.
* @param {String} name A name for the object, to be serialized and used as ID.
* @summary Base class for controls of all kinds.
* @tutorial Tangibles_Controllers
* @classdesc
* <p>
* <strong>Control</strong> is a base class for things like
* {@link adventurejs.Button|Buttons},
* {@link adventurejs.Dial|Dials},
* {@link adventurejs.Gauge|Gauges},
* {@link adventurejs.Lever|Levers}, and
* {@link adventurejs.Switch|Switches}.
* Control has no particular properties - each of the
* subclasses define unique properties.
* </p>
**/
class Control extends adventurejs.Thing {
constructor(name, game_name) {
super(name, game_name);
this.class = "Control";
this.descriptions.look = "Control.";
this.singlePluralPairs = [["control", "controls"]];
}
}
adventurejs.Control = Control;
})();