# Region (of `Object`)

class `Region`

  Defined in Game.sc.

  Region serves as a base class for `Rm`. It can also be used on its own, to contain common logic that applies to several rooms.

  To make a region part of a room, put the following code in the room’s init() method:

      (self setRegions: MY_REGION)
      ; Where MY_REGION would be a script number for a script that contains a public Rgn instance.

Subclasses: `Room`.

## Properties

Inherited from `Object`:

Property | Description
--- | ---
name |

Defined in Region:

Property | Description
--- | ---
script |
number |
modNum |
noun |
case |
timer |
keep |
initialized |

## Methods

`init`()

  Override this method to provide any custom initialization needed for your Rgn. Make sure you call (super:init()), or your region won’t be added to the current room’s regions.

`doit`()

  This is commonly overridden in Rgn instances to provide custom logic that gets executed every game cycle.

`dispose`()

`handleEvent`(pEvent)

  This is commonly overridden in Rgn instances to handle keyboard or mouse events.

`doVerb`(theVerb)

  This is commonly overridden in Rgn instances to code custom logic for verbs.

`setScript`(theScript [sendParams ...])

  This attaches a `Script` to the Rgn.

  Parameters: | theScript (heapPtr) – A Script instance. sendParams – Any additional parameters needed to initialize the script.

`cue`()

`newRoom`()

`notify`()