Difference between revisions of "Script Classes for Adventure Games/Collection Class"

From SCI Wiki
Jump to navigationJump to search
Line 7: Line 7:
 
[[Script Classes for Adventure Games/Object Class|3]] |  
 
[[Script Classes for Adventure Games/Object Class|3]] |  
 
[[Script Classes for Adventure Games/Collection Class|4]] |  
 
[[Script Classes for Adventure Games/Collection Class|4]] |  
[[Script Classes for Adventure Games/Script Class|9]] |  
+
[[Script Classes for Adventure Games/Script Class|5]] |  
[[Script Classes for Adventure Games/Timer Class|10]] |  
+
[[Script Classes for Adventure Games/Timer Class|6]] |  
[[Script Classes for Adventure Games/Feature Class|11]] |  
+
[[Script Classes for Adventure Games/Feature Class|7]] |  
[[Script Classes for Adventure Games/View Class|12]] |  
+
[[Script Classes for Adventure Games/View Class|8]] |  
[[Script Classes for Adventure Games/PicView Class|16]] |  
+
[[Script Classes for Adventure Games/PicView Class|9]] |  
[[Script Classes for Adventure Games/Cycling Classes|17]] |  
+
[[Script Classes for Adventure Games/Cycling Classes|10]] |  
[[Script Classes for Adventure Games/Motion Classes|18]] |  
+
[[Script Classes for Adventure Games/Motion Classes|11]] |  
[[Script Classes for Adventure Games/Avoider Class|18]] |  
+
[[Script Classes for Adventure Games/Avoider Class|12]] |  
[[Script Classes for Adventure Games/Event Class|19]] |  
+
[[Script Classes for Adventure Games/Event Class|13]] |  
[[Script Classes for Adventure Games/User Class|20]]<br />
+
[[Script Classes for Adventure Games/User Class|14]]<br />
[[Script Classes for Adventure Games/Game Class|21]] |  
+
[[Script Classes for Adventure Games/Game Class|15]] |  
[[Script Classes for Adventure Games/Locale Class|22]] |  
+
[[Script Classes for Adventure Games/Locale Class|16]] |  
[[Script Classes for Adventure Games/Region Class|23]] |  
+
[[Script Classes for Adventure Games/Region Class|17]] |  
[[Script Classes for Adventure Games/Room Class|24]] |  
+
[[Script Classes for Adventure Games/Room Class|18]] |  
[[Script Classes for Adventure Games/Timer2 Class|25]] |  
+
[[Script Classes for Adventure Games/Timer2 Class|19]] |  
[[Script Classes for Adventure Games/InvItem Class|27]] |  
+
[[Script Classes for Adventure Games/InvItem Class|20]] |  
[[Script Classes for Adventure Games/Block Class|28]] |  
+
[[Script Classes for Adventure Games/Block Class|21]] |  
[[Script Classes for Adventure Games/Cage Class|29]] |  
+
[[Script Classes for Adventure Games/Cage Class|22]] |  
[[Script Classes for Adventure Games/Sound Class|30]] |  
+
[[Script Classes for Adventure Games/Sound Class|23]] |  
[[Script Classes for Adventure Games/StatusLine Class|31]] |  
+
[[Script Classes for Adventure Games/StatusLine Class|24]] |  
[[Script Classes for Adventure Games/File Class|32]] |  
+
[[Script Classes for Adventure Games/File Class|25]] |  
[[Script Classes for Adventure Games/Code Class|33]] |  
+
[[Script Classes for Adventure Games/Code Class|26]] |  
[[Script Classes for Adventure Games/Global Variables|34]] |  
+
[[Script Classes for Adventure Games/Global Variables|27]] |  
 
[[Script Classes for Adventure Games/Index|Index]]
 
[[Script Classes for Adventure Games/Index|Index]]
 
</div><br />
 
</div><br />

Revision as of 03:10, 9 December 2015

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.

 

Notes


 

Table of Contents

 

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