// Container.js
(function () {
/* global AdventureJS A */
/**
* @ajspath AdventureJS.Atom.Asset.Matter.Tangible.Thing.Container
* @augments AdventureJS.Assets.Thing
* @class AdventureJS.Assets.Container
* @ajsconstruct MyGame.createAsset({ "class":"Container", "name":"foo", [...] })
* @ajsconstructedby AdventureJS.Game#createAsset
* @ajsnavheading ContainerClasses
* @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 Thing to put things in.
* @classdesc
* <p>
* <strong>Container</strong> is the base class for
* {@link AdventureJS.Assets.GasContainer|GasContainers},
* {@link AdventureJS.Assets.LiquidContainer|LiquidContainers},
* {@link AdventureJS.Assets.SolidContainer|SolidContainers}, and
* {@link AdventureJS.Assets.SurfaceContainer|SurfaceContainers}.
* Container has no particular properties - each of the
* subclasses define unique properties.
* </p>
**/
class Container extends AdventureJS.Assets.Thing {
constructor(name, game_name, context_id = "", id = "") {
super(name, game_name, context_id, id);
this.class = "Container";
// this.setDOVs([]);
this.setIOVs(["put", "take"]);
this.is.hollow = true;
this.default_aspect = "in";
}
initialize(game) {
super.initialize(game);
return this;
}
}
AdventureJS.Assets.Container = Container;
})();