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

From SCI Wiki
Jump to navigationJump to search
 
(4 intermediate revisions by the same user not shown)
Line 39: Line 39:
 
 
 
 
  
==<br /> The Region Class ==
+
==<br /> The Locale Class ==
  
A Region is an area of a game which is larger than a Room (see below) — for example a forest, island, or a planet. It is used to provide standard behavior (i.e. responses to user input) in an area of the game without having to code the behavior into each room in the region. For example in Space Quest, we might define the town of Ulence Flats and the planet of Kerona as regions. The Ulence Flats region would be used to handle the response to 'look city' while in the town, whereas the Kerona region would handle the response to 'look sky'. Regions take the place of the 'dynamic logics' of the AGI interpreter. A Region differs from a Locale (see below) in that a Region has a doit method that will be invoked every animation cycle by the game. This is where t. put any checks or code that encompasses more than one room and needs to be done each animation cycle.
+
A Locale is similar to a Region in that it may encompass many Rooms, but its only purpose is to provide default responses to user input. Thus, a forest locale will provide generic responses to input like 'look forest', 'look tree', 'climb tree', etc. A locale is attached to a Room with the setLocales: method.
 
 
{|
 
|width= "125"|In file:||game.sc
 
|-
 
|Inherits from:||Object
 
|-
 
|Inherited by:||Room
 
|}
 
 
 
===<br /> Properties ===
 
 
 
<blockquote>
 
==== script ====
 
<blockquote>The ID of a Script for the current room.</blockquote>
 
 
 
==== number ====
 
<blockquote>The region number. Set by the setRegions: method discussed in class Room below, it is used when we dispose the region.</blockquote>
 
 
 
==== timer ====
 
<blockquote>The ID of a Timer set to cue: this Region.</blockquote>
 
 
 
==== keep ====
 
<blockquote>Set this to TRUE if you want the Region to remain in the heap through a newRoom:, to FALSE if you want the Region unloaded.</blockquote>
 
 
 
==== initialized ====
 
<blockquote>This property is set to TRUE when the Region is sent the init: message after a setRegion: involving it has been done. The init: method is not invoked once initialized is TRUE, so a Region will only be initialized once for the Rooms which require it.</blockquote>
 
</blockquote>
 
 
 
===<br /> Methods ===
 
 
 
<blockquote>
 
==== init: ====
 
<blockquote>When a Region is added to the region list regions by the setRegions: method discussed in the class Room below, it is sent the init: message in case any setup is needed. The default init: method does nothing.</blockquote>
 
 
 
==== doit: ====
 
<blockquote>Each active Region is sent the doit: message in each animation cycle. The default method passes the doit: message along to the script, if there is one, but does nothing else.</blockquote>
 
 
 
==== handleEvent: event ====
 
<blockquote>The default method for this sends handleEvent: event to the Region's script, if there is one. You may handle events either in the Region itself or its script. Remember that in general you will not want to handle an event which is claimed, and that you should set the claimed property of the event to TRUE if you respond to it.</blockquote>
 
 
 
==== setScript: script ====
 
<blockquote>Set the script of the Region to script and init: it.</blockquote>
 
 
 
==== cue: newState ====
 
<blockquote>Cue this Region's script. If the optional newState is present, invoke (script changeState:newState) instead.</blockquote>
 
</blockquote>
 
  
 
&nbsp;
 
&nbsp;
Line 100: Line 54:
 
&nbsp;
 
&nbsp;
  
<span style="float: left">[[Script Classes for Adventure Games/Game Class|&lt; Previous: The Game Class]]</span>
+
<span style="float: left">[[Script Classes for Adventure Games/Region Class|&lt; Previous: The Region Class]]</span>
<span style="float: right">[[Script Classes for Adventure Games/Region Class|Next: The Region Class &gt;]]</span>
+
<span style="float: right">[[Script Classes for Adventure Games/Room Class|Next: The Room Class &gt;]]</span>
  
 
&nbsp;
 
&nbsp;

Latest revision as of 01:28, 11 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 Locale Class

Author: Jeff Stephenson

Date: 5 April 1988

 


The Locale Class

A Locale is similar to a Region in that it may encompass many Rooms, but its only purpose is to provide default responses to user input. Thus, a forest locale will provide generic responses to input like 'look forest', 'look tree', 'climb tree', etc. A locale is attached to a Room with the setLocales: method.

 

Notes


 

Table of Contents

 

< Previous: The Region Class Next: The Room Class >