MultiFacetedclass
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
Inherited from MultiInstance
:
instanceList
instanceObject
Inherited from BaseMultiLoc
:
initialLocationClass
locationList
Summary of Methods
Inherited from MultiInstance
:
addInstance
addToContents
getInstanceIn
initializeLocation
moveInto
moveIntoAdd
moveOutOf
removeFromContents
Inherited from BaseMultiLoc
:
buildLocationList
isDirectlyIn
isIn
isInitiallyIn
isListedInContents
isOrIsIn
Properties
instanceMixIn
OVERRIDDEN
the mix-in superclass for our instance objects
Methods
getFacets ( )
our instance objects represent our facets for parsing purposes
TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3