MultiFacetedclass

objects.t[3264]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

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  

instanceMixInOVERRIDDEN

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