Floorlessclass

travel.t[4799]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

Make a room “floorless.” This is a mix-in class that you can include in a superclass list ahead of Room or any of its subclasses to create a room where support is provided by some means other than standing on a surface, or where there’s simply no support. Examples: hanging on a rope over a chasm; climbing a ladder; in free-fall after jumping out of a plane; levitating in mid-air.

There are two main special features of a floorless room. First, and most obviously, there’s no “floor” or “ground” object among the room parts. We accomplish this by simply subtracting out any object of class Floor from the room parts list inherited from the combined base room class.

Second, there’s no place to put anything down, so objects dropped here either disappear from the game or are transported to another location (the room at the bottom of the chasm, for example).

class Floorless :   object

Superclass Tree   (in declaration order)

Floorless
`         object`

Subclass Tree  

Floorless
FloorlessRoom

Global Objects  

(none)

Summary of Properties  

bottomRoom roomParts

Summary of Methods  

receiveDrop

Properties  

bottomRoom

travel.t[4818]

The room below, if any - this is where objects dropped here will actually end up. By default, this is nil, which means that objects dropped here simply disappear from the game. If there’s a “bottom of chasm” location where dropped objects should land, provide it here.

roomParts

travel.t[4809]

Omit the default floor/ground objects from the room parts list. Room classes generally have static room parts lists, so calculate this once per instance and store the results.

NOTE - if you combine Floorless with a base Room class that has a dynamic room parts list, you’ll need to override this to calculate the subset dynamically on each invocation.

Methods  

receiveDrop (obj, desc)

travel.t[4821]

receive a dropped object

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