Script Classes for Adventure Games/Collection Class

From SCI Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Official SCI Documentation

Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Index


The Collection Class

Author: Jeff Stephenson

Date: 5 April 1988

 


The Collection Class

The Collection class provides the ability to manipulate collections of objects. Objects which belong to a Collection are said to be elements or members of it. The Collection class has no particular order defined for its elements, so it should not be used for situations in which the objects should be ordered — use a List instead.

In file: system.sc
Inherits from: Object
Inherited by: List
Set
EventHandler


Properties


elements

A pointer to a kernel list (kList) of the elements of the Collection.


size

The number of elements in the collection.


Methods:


add: element [elements ...]

Add elements to the Collection.


delete: element [elements ...]

Delete elements from the Collection.


eachElementDo: action [args...]

Send the message action [args...] to each element of the Collection. There may be from zero to four arguments (args).


firstTrue: action [args...]

Send the message action [args...] to each element of the collection in succession. When an object replies a non-zero value to the message, firstTrue: returns the object ID of that object and does not send the message to any more objects. Up to four arguments are allowed.


allTrue: action [args...]

Returns TRUE if all objects in the collection reply a non-zero value to the message action [args...], FALSE otherwise. Up to four arguments are allowed.


contains: anObject

Returns TRUE if anObject is an element of the collection, FALSE otherwise.


isEmpty

Returns TRUE if the collection has no elements, FALSE otherwise.


first: (private)

Returns a pointer to the kernel node kNode which has the 'first' object in the collection as its value. The object can be obtained with the kernel call (NodeValue kNode). Note that since there is no order associated with a collection, the object which will be returned by first is unspecified.


next: kNode (private)

Returns a pointer to the kNode following kNode. As in first:, the object may be obtained with (NodeValue kNode). Also as in first:, the lack of ordering in a Collection means that the object which will be returned is unspecified. It is guaranteed, however, that it will not be an object which has been returned since the most recent call to first: (unless the object has been added to the Collection more than once — see Set). If all elements in the Collection have been returned since the last call to first:, 0 is returned.


The List Class

A List is just a Collection which has a specified order to its elements.

In file system.sc
Inherits from Collection
Inherited by Inventory
Set


Properties

 


Methods


add: element [element ...]

Adds elements to the end of the list in the order specified.


first

Returns the kNode of the first element in the List.


next: kNode

Returns the kNode of the element which follows kNode in the List, 0 if kNode is the end of the List.


at: n

Returns the element (not the kNode) at position n in the List.


last

Returns the kNode of the last element in the List.


prev: kNode

Returns the kNode of the element preceding kNode in the List, 0 if kNode is the first element of the List.


addToFront: element [element ...]

Add elements to the beginning of the List.


addToEnd: element [element ...]

Add elements to the end of the List.


indexOf: element

Return the index of element in the list. If the element is not in the list, return -1.

 

Notes


 

Table of Contents

 

< Previous: The Object Class Next: The List Class >