PowerQuest 0.19.0
Loading...
Searching...
No Matches
GlobalScript Class Reference

Detailed Description

Global Script: The home for your game specific logic.

  • The functions in this script are used in every room in your game.
  • Add your own variables and functions in here and you can access them with Globals. (eg: Globals.m_myCoolInteger)
  • If you've used Adventure Game Studio, this is equivalent to the Global Script in that

Inherits GlobalScriptBase< GlobalScript >.

Public Types

enum  eProgress { None , GotWater , DrankWater , WonGame }
 Just an example of using an enum for game state. This can be accessed from other scripts, eg: if ( E.Is(eProgress.DrankWater) )... More...
 

Public Member Functions

void OnGameStart ()
 Called when game first starts.
 
void OnPostRestore (int version)
 Called after restoring a game. Use this if you need to update any references based on saved data.
 
void OnEnterRoom ()
 Blocking script called whenever you enter a room, before fading in. Non-blocking functions only.
 
IEnumerator OnEnterRoomAfterFade ()
 Blocking script called whenever you enter a room, after fade in is complete.
 
IEnumerator OnExitRoom (IRoom oldRoom, IRoom newRoom)
 Blocking script called whenever you exit a room, as it fades out.
 
IEnumerator UpdateBlocking ()
 Blocking script called every frame when nothing's blocking, you can call blocking functions in here that you'd like to occur anywhere in the game.
 
void Update ()
 Called every frame. Non-blocking functions only.
 
void UpdateNoPause ()
 Called every frame, even when paused. Non-blocking functions only.
 
IEnumerator OnAnyClick ()
 Blocking script called whenever the player clicks anywwere. This function is called before any other click interaction. If this function blocks, it will stop any other interaction from happening.
 
IEnumerator OnWalkTo ()
 Blocking script called whenever the player tries to walk somewhere. Even if C.Player.Moveable is set to false.
 
void OnMouseClick (bool leftClick, bool rightClick)
 Called when the mouse is clicked in the game screen. Use this to customise your game interface by calling E.ProcessClick() with the verb that should be used. By default this is set up for a 2 click interface.
 
IEnumerator UnhandledInteract (IQuestClickable mouseOver)
 Called when player interacted with something that had not specific "interact" script.
 
IEnumerator UnhandledLookAt (IQuestClickable mouseOver)
 Called when player looked at something that had not specific "Look at" script.
 
IEnumerator UnhandledUseInvInv (Inventory invA, Inventory invB)
 Called when player used one inventory item on another that doesn't have a response.
 
IEnumerator UnhandledUseInv (IQuestClickable mouseOver, Inventory item)
 Called when player used inventory on something that didn't have a response.
 

Public Attributes

eProgress m_progressExample = eProgress.None
 
bool m_spokeToBarney = false
 Just an example of using a global variable that can be accessed in any room with Globals.m_spokeToBarney. All variables like this in Quest Scripts are automatically saved.
 

Member Enumeration Documentation

◆ eProgress

enum eProgress

Just an example of using an enum for game state. This can be accessed from other scripts, eg: if ( E.Is(eProgress.DrankWater) )...

Member Data Documentation

◆ m_spokeToBarney

bool m_spokeToBarney = false

Just an example of using a global variable that can be accessed in any room with Globals.m_spokeToBarney. All variables like this in Quest Scripts are automatically saved.

Member Function Documentation

◆ OnGameStart()

void OnGameStart ( )
inline

Called when game first starts.

◆ OnPostRestore()

void OnPostRestore ( int version)
inline

Called after restoring a game. Use this if you need to update any references based on saved data.

◆ OnEnterRoom()

void OnEnterRoom ( )
inline

Blocking script called whenever you enter a room, before fading in. Non-blocking functions only.

◆ OnEnterRoomAfterFade()

IEnumerator OnEnterRoomAfterFade ( )
inline

Blocking script called whenever you enter a room, after fade in is complete.

◆ OnExitRoom()

IEnumerator OnExitRoom ( IRoom oldRoom,
IRoom newRoom )
inline

Blocking script called whenever you exit a room, as it fades out.

◆ UpdateBlocking()

IEnumerator UpdateBlocking ( )
inline

Blocking script called every frame when nothing's blocking, you can call blocking functions in here that you'd like to occur anywhere in the game.

◆ Update()

void Update ( )
inline

Called every frame. Non-blocking functions only.

◆ UpdateNoPause()

void UpdateNoPause ( )
inline

Called every frame, even when paused. Non-blocking functions only.

◆ OnAnyClick()

IEnumerator OnAnyClick ( )
inline

Blocking script called whenever the player clicks anywwere. This function is called before any other click interaction. If this function blocks, it will stop any other interaction from happening.

◆ OnWalkTo()

IEnumerator OnWalkTo ( )
inline

Blocking script called whenever the player tries to walk somewhere. Even if C.Player.Moveable is set to false.

◆ OnMouseClick()

void OnMouseClick ( bool leftClick,
bool rightClick )
inline

Called when the mouse is clicked in the game screen. Use this to customise your game interface by calling E.ProcessClick() with the verb that should be used. By default this is set up for a 2 click interface.

◆ UnhandledInteract()

IEnumerator UnhandledInteract ( IQuestClickable mouseOver)
inline

Called when player interacted with something that had not specific "interact" script.

◆ UnhandledLookAt()

IEnumerator UnhandledLookAt ( IQuestClickable mouseOver)
inline

Called when player looked at something that had not specific "Look at" script.

◆ UnhandledUseInvInv()

IEnumerator UnhandledUseInvInv ( Inventory invA,
Inventory invB )
inline

Called when player used one inventory item on another that doesn't have a response.

◆ UnhandledUseInv()

IEnumerator UnhandledUseInv ( IQuestClickable mouseOver,
Inventory item )
inline

Called when player used inventory on something that didn't have a response.