Script Classes for Adventure Games/Collection Class
Author: Jeff Stephenson
- 1 The Collection Class
- 1.1 Properties
- 1.2 Methods:
- 1.3 The List Class
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.
A pointer to a kernel list (kList) of the elements of the Collection.
The number of elements in the collection.
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.
Returns TRUE if anObject is an element of the collection, FALSE otherwise.
Returns TRUE if the collection has no elements, FALSE otherwise.
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.
add: element [element ...]
Adds elements to the end of the list in the order specified.
Returns the kNode of the first element in the List.
Returns the kNode of the element which follows kNode in the List, 0 if kNode is the end of the List.
Returns the element (not the kNode) at position n in the List.
Returns the kNode of the last element in the List.
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.
Return the index of element in the list. If the element is not in the list, return -1.