OpenTTD GameScript API  20240418-master-gc355e98c58
Public Member Functions | Static Public Member Functions
GSCompanyMode Class Reference

Class to switch the current company. More...

Inheritance diagram for GSCompanyMode:

Public Member Functions

 GSCompanyMode (SQInteger company)
 Creating instance of this class switches the company used for queries and commands. More...
 

Static Public Member Functions

static bool IsValid ()
 Check whether a company mode is valid. More...
 
static bool IsDeity ()
 Check whether the company mode is not active, i.e. More...
 

Detailed Description

Class to switch the current company.

If you create an instance of this class, the company will be switched. The original company is stored and recovered from when ever the instance is destroyed. All actions performed within the scope of this mode, will be executed on behalf of the company you switched to. This includes any costs attached to the action performed. If the company does not have the funds the action will be aborted. In other words, this is like the real player is executing the commands. If the company is not valid during an action, the error ERR_PRECONDITION_INVALID_COMPANY will be returned. You can switch to invalid companies, or a company can become invalid (bankrupt) while you are switched to it.

Constructor & Destructor Documentation

◆ GSCompanyMode()

GSCompanyMode::GSCompanyMode ( SQInteger  company)

Creating instance of this class switches the company used for queries and commands.

Parameters
companyThe new company to switch to.
Note
When the instance is destroyed, it restores the company that was current when the instance was created!

Member Function Documentation

◆ IsDeity()

static bool GSCompanyMode::IsDeity ( )
static

Check whether the company mode is not active, i.e.

whether we are a deity. In other words, are commands are not being executed under some company.

Returns
true When we are a deity, i.e. company mode is not active.
Postcondition
!GSCompanyMode::IsValid().

◆ IsValid()

static bool GSCompanyMode::IsValid ( )
static

Check whether a company mode is valid.

In other words, are commands being executed under some company and does the company still exist?

Returns
true When a company mode is valid.
Postcondition
!GSCompanyMode::IsDeity().