MultiFaceted class | objects.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

`instanceMixIn` OVERRIDDEN | `objects.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