This is an old revision of the document!
Inherits From: SomeClass
Blurb.
Inherited from SomeClass: someField, someOtherField
Description.
Inherited from SomeClass: someMethod(), someOtherMethod()
Description.
// Example code.
add( itemOrId ) { var id = validateItemOrId( "add", itemOrId ); if( !this.has(id) ) { var pre = this.preAdd( id ); if( pre != true && pre != false ) doThrow( "add", "preAdd() did not return boolean!" ); if( pre ) { var inventory = Persistence.get( this.id ) || []; inventory.push( id ); Persistence.set( this.id, inventory ); this.postAdd( id ); } } } remove( itemOrId ) { var id = validateItemOrId( "remove", itemOrId ); var pre = this.preRemove( id ); if( pre != true && pre != false ) doThrow( "remove", "preRemove() did not return boolean!" ); if( pre ) { var inventory = Persistence.get( this.id ) || []; var pos; while( (pos=$.inArray(id,inventory)) >= 0 ) inventory.splice(pos,1); Persistence.set( this.id, inventory ); this.postRemove( id ); } } has( itemOrId ) { var id = validateItemOrId( "has", itemOrId ); var inventory = Persistence.get( this.id ) || []; return $.inArray(id,inventory) >= 0; } get() { var inventory = Persistence.get( this.id ) || []; let a = []; for( let i=0; i<inventory.length; i++ ) a.push( Persistence.instantiate(inventory[i]) ); return a.sort( this.sort); } getListString( examineLink = true ) { let l = []; for( let a of this.get() ) { let examinePassage = "Examine."+a.id; if( examineLink && Story.has(examinePassage) ) l.push( "[["+a.aName+"->"+examinePassage+"]]" ); else l.push( a.aName ); } return Util.commaList( l ); } sort( a, b ) { return a.name.toLowerCase().localeCompare( b.name.toLowerCase() ); } preAdd( id ) { return true; } postAdd( id ) { } preRemove( id ) { return true; } postRemove( id ) { }