MultiFacetedclassobjects.t[3264]

A "multi-faceted" object is similar to a MultiInstance object, with the addition that the instance objects are "facets" of one another. This means that they have the same identity, from the perspective of a character in the scenario: all of the instance objects are part of the same conceptual object, not separate objects.

This is especially useful for large objects that span multiple locations, such as a river or a long rope.

You define a multi-faceted object the same way you set up a MultiInstance: definfe a MultiFaceted shell object, and as part of the shell, define the facet object using the instanceObject property. Here's an example:

river: MultiFaceted
locationList = [riverBank, meadow, canyon]
instanceObject: Fixture { 'river' 'river'
"The river meanders by. "
}
;

The main difference between MultiInstance and MultiFaceted is that the "facet" objects of a MultiFaceted are related as facets of a common object from the parser's perspective. For example, if a player refers to one facet, then travels to another location that contains a different facet, then refers to "it", the parser will realize that the pronoun refers to the new facet in the new location.

class MultiFaceted :   MultiInstance

Superclass Tree   (in declaration order)

MultiFaceted
        MultiInstance
                BaseMultiLoc
                        object

Subclass Tree  

(none)

Global Objects  

(none)

Summary of Properties  

instanceMixIn 

Inherited from MultiInstance :
instanceList  instanceObject 

Inherited from BaseMultiLoc :
initialLocationClass  locationList 

Summary of Methods  

getFacets 

Inherited from MultiInstance :
addInstance  addToContents  getInstanceIn  initializeLocation  moveInto  moveIntoAdd  moveOutOf  removeFromContents 

Inherited from BaseMultiLoc :
buildLocationList  isDirectlyIn  isIn  isInitiallyIn  isListedInContents  isOrIsIn 

Properties  

instanceMixInOVERRIDDENobjects.t[3269]

the mix-in superclass for our instance objects

Methods  

getFacets ( )objects.t[3266]

our instance objects represent our facets for parsing purposes

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3