SenseConnector class | sense.t[431]

SenseConnector: an object that can pass senses across room boundaries. This is a mix-in class: add it to the superclass list of the object before Thing (or a Thing subclass).

A SenseConnector acts as a sense conduit across all of its locations, so to establish a connection between locations, simply place a SenseConnector in each location. Since a SenseConnector is useful only when placed placed in multiple locations, SenseConnector is based on MultiLoc.

`class SenseConnector : MultiLoc`

Superclass Tree (in declaration order)

`SenseConnector`
`MultiLoc`
`BaseMultiLoc`
`object`

Subclass Tree

`SenseConnector`
`DistanceConnector`

Global Objects

(none)

Summary of Properties

`connectorMaterial getConnectedContainers`

``

Inherited from `BaseMultiLoc` :
`initialLocationClass locationList`

Summary of Methods

`addDirectConnections checkMoveThrough checkMoveViaPath checkThrowThrough checkThrowViaPath checkTouchThrough checkTouchViaPath forEachConnectedContainer sensePathFromWithout shineFromWithout transSensingThru`

Inherited from `MultiLoc` :
`baseMoveInto baseMoveIntoAdd baseMoveOutOf cloneForMultiInstanceContents cloneMultiInstanceContents forEachContainer getDropDestination initializeLocation moveIntoAdd moveOutOf reInitializeLocation restoreLocation saveLocation sensePathToLoc shineOnLoc`

Inherited from `BaseMultiLoc` :
`buildLocationList isDirectlyIn isIn isInitiallyIn isListedInContents isOrIsIn`

Properties

`connectorMaterial` | `sense.t[436]`

A SenseConnector's material generally determines how senses pass through the connection.

`getConnectedContainers` OVERRIDDEN | `sense.t[582]`

Return a list of my connected containers. We connect to all of our containers, so simply return my location list.

Methods

`addDirectConnections (tab)`OVERRIDDEN | `sense.t[451]`

Add the direct containment connections for this item to a lookup table.

Since we provide a sense connection among all of our containers, add each of our containers to the list.

`checkMoveThrough (obj, dest)` | `sense.t[589]`

Check moving an object through me. This is called when we try to move an object from one of our containers to another of our containers through me. By default, we don't allow it.

`checkMoveViaPath (obj, dest, op)` | `sense.t[617]`

check for moving via a path

`checkThrowThrough (obj, dest)` | `sense.t[611]`

Check throwing an object through me. This is called when an actor tries to throw a projectile 'obj' at 'dest' via a path that includes 'self'. By default, we don't allow it.

`checkThrowViaPath (obj, dest, op)` | `sense.t[647]`

check for throwing via a path

`checkTouchThrough (obj, dest)` | `sense.t[600]`

Check touching an object through me. This is called when an actor tries to reach from one of my containers through me into another of my containers. By default, we don't allow it.

`checkTouchViaPath (obj, dest, op)` | `sense.t[632]`

check for touching via a path

`forEachConnectedContainer (func, [args])`OVERRIDDEN | `sense.t[573]`

Call a function on each connected container. Since we provide a sense path connection among our containers, we must iterate over each of our containers.

`sensePathFromWithout (fromParent, sense, trans, obs, fill)` | `sense.t[519]`

Build a sense path from a container to me

`shineFromWithout (fromParent, sense, ambient, fill)` | `sense.t[478]`

Transmit energy from a container onto me.

`transSensingThru (sense)` | `sense.t[442]`

Determine how senses pass through this connection. By default, we simply use the material's transparency.

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