# Game (of `Object`)

class `Game`

  Defined in Game.sc.

  This contains the base game functionality. Most of the time, these methods are just called by the framework. The main interesting ones you might need to call from code are:

  handsOn()
    Gives the user control of the game.
  handsOff()
    Removes control of the game from the user (e.g. for cutscenes)
  setCursor()
    Sets the current game cursor.

Subclasses: `SQ5`.

## Properties

Inherited from `Object`:

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

Defined in Game:

Property | Description
--- | ---
script |
printLang |
_detailLevel |
panelObj | Current object target of a UI control
panelSelector | Selector for the object target.
handsOffCode |
handsOnCode |

## Methods

`init`()

`doit`()

`play`()

`replay`()

`newRoom`(newRoomNumber)

  Changes to a new room.

  Important

  To change to a new room, you should not use this method. Instead, use the newRoom method on the current room, e.g:

      (gRoom newRoom: 105)

`startRoom`(param1)

`restart`()

`restore`(param1)

`save`()

`handleEvent`(pEvent)

`showMem`()

`setCursor`(cursorNumber isVisible cursorX cursorY hotspotX hotspotY)

`notify`()

`setScript`(theScript sendParams)

`cue`()

`quitGame`(param1)

`masterVolume`(param1)

`detailLevel`(the_detailLevel)

`pragmaFail`()

`handsOff`(param1)

  Removes control of the game from the user (for cutscenes).

  Example usage:

      (gGame handsOff:)

`handsOn`(param1)

  Gives the user control of the game.

  Example usage:

      (gGame handsOn:)