OpenTTD NoAI API
Public Types | Static Public Member Functions
AIIndustry Class Reference

Class that handles all industry related functions. More...

Inheritance diagram for AIIndustry:

Public Types

enum  CargoAcceptState {
  CAS_NOT_ACCEPTED,
  CAS_ACCEPTED,
  CAS_TEMP_REFUSED
}
 Ways for an industry to accept a cargo. More...
 

Static Public Member Functions

static int32 GetIndustryCount ()
 Gets the number of industries. More...
 
static bool IsValidIndustry (IndustryID industry_id)
 Checks whether the given industry index is valid. More...
 
static IndustryID GetIndustryID (TileIndex tile)
 Get the IndustryID of a tile, if there is an industry. More...
 
static char * GetName (IndustryID industry_id)
 Get the name of the industry. More...
 
static CargoAcceptState IsCargoAccepted (IndustryID industry_id, CargoID cargo_id)
 See whether an industry currently accepts a certain cargo. More...
 
static int32 GetStockpiledCargo (IndustryID industry_id, CargoID cargo_id)
 Get the amount of cargo stockpiled for processing. More...
 
static int32 GetLastMonthProduction (IndustryID industry_id, CargoID cargo_id)
 Get the total last month's production of the given cargo at an industry. More...
 
static int32 GetLastMonthTransported (IndustryID industry_id, CargoID cargo_id)
 Get the total amount of cargo transported from an industry last month. More...
 
static int32 GetLastMonthTransportedPercentage (IndustryID industry_id, CargoID cargo_id)
 Get the percentage of cargo transported from an industry last month. More...
 
static TileIndex GetLocation (IndustryID industry_id)
 Gets the location of the industry. More...
 
static int32 GetAmountOfStationsAround (IndustryID industry_id)
 Get the number of stations around an industry. More...
 
static int32 GetDistanceManhattanToTile (IndustryID industry_id, TileIndex tile)
 Get the manhattan distance from the tile to the AIIndustry::GetLocation() of the industry. More...
 
static int32 GetDistanceSquareToTile (IndustryID industry_id, TileIndex tile)
 Get the square distance from the tile to the AIIndustry::GetLocation() of the industry. More...
 
static bool IsBuiltOnWater (IndustryID industry_id)
 Is this industry built on water. More...
 
static bool HasHeliport (IndustryID industry_id)
 Does this industry have a heliport? More...
 
static TileIndex GetHeliportLocation (IndustryID industry_id)
 Gets the location of the industry's heliport. More...
 
static bool HasDock (IndustryID industry_id)
 Does this industry have a dock? More...
 
static TileIndex GetDockLocation (IndustryID industry_id)
 Gets the location of the industry's dock. More...
 
static IndustryType GetIndustryType (IndustryID industry_id)
 Get the IndustryType of the industry. More...
 

Detailed Description

Class that handles all industry related functions.

Member Enumeration Documentation

◆ CargoAcceptState

Ways for an industry to accept a cargo.

Enumerator
CAS_NOT_ACCEPTED 

The CargoID is not accepted by this industry.

CAS_ACCEPTED 

The industry currently accepts this CargoID.

CAS_TEMP_REFUSED 

The industry temporarily refuses to accept this CargoID but may do so again in the future.

Member Function Documentation

◆ GetAmountOfStationsAround()

static int32 AIIndustry::GetAmountOfStationsAround ( IndustryID  industry_id)
static

Get the number of stations around an industry.

All stations that can service the industry are counted, your own stations but also your opponents stations.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
The number of stations around an industry.

◆ GetDistanceManhattanToTile()

static int32 AIIndustry::GetDistanceManhattanToTile ( IndustryID  industry_id,
TileIndex  tile 
)
static

Get the manhattan distance from the tile to the AIIndustry::GetLocation() of the industry.

Parameters
industry_idThe industry to get the distance to.
tileThe tile to get the distance to.
Precondition
IsValidIndustry(industry_id).
AIMap::IsValidTile(tile).
Returns
The distance between industry and tile.

◆ GetDistanceSquareToTile()

static int32 AIIndustry::GetDistanceSquareToTile ( IndustryID  industry_id,
TileIndex  tile 
)
static

Get the square distance from the tile to the AIIndustry::GetLocation() of the industry.

Parameters
industry_idThe industry to get the distance to.
tileThe tile to get the distance to.
Precondition
IsValidIndustry(industry_id).
AIMap::IsValidTile(tile).
Returns
The distance between industry and tile.

◆ GetDockLocation()

static TileIndex AIIndustry::GetDockLocation ( IndustryID  industry_id)
static

Gets the location of the industry's dock.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
HasDock(industry_id).
Returns
The location of the industry's dock.

◆ GetHeliportLocation()

static TileIndex AIIndustry::GetHeliportLocation ( IndustryID  industry_id)
static

Gets the location of the industry's heliport.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
HasHeliport(industry_id).
Returns
The location of the industry's heliport.

◆ GetIndustryCount()

static int32 AIIndustry::GetIndustryCount ( )
static

Gets the number of industries.

Returns
The number of industries.
Note
The maximum valid IndustryID can be higher than the value returned.

◆ GetIndustryID()

static IndustryID AIIndustry::GetIndustryID ( TileIndex  tile)
static

Get the IndustryID of a tile, if there is an industry.

Parameters
tileThe tile to find the IndustryID of.
Returns
IndustryID of the industry.
Postcondition
Use IsValidIndustry() to see if the industry is valid.
Note
GetIndustryID will return an invalid IndustryID for the station tile of industries with a dock/heliport.

◆ GetIndustryType()

static IndustryType AIIndustry::GetIndustryType ( IndustryID  industry_id)
static

Get the IndustryType of the industry.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
The IndustryType of the industry.

◆ GetLastMonthProduction()

static int32 AIIndustry::GetLastMonthProduction ( IndustryID  industry_id,
CargoID  cargo_id 
)
static

Get the total last month's production of the given cargo at an industry.

Parameters
industry_idThe index of the industry.
cargo_idThe index of the cargo.
Precondition
IsValidIndustry(industry_id).
AICargo::IsValidCargo(cargo_id).
Returns
The last month's production of the given cargo for this industry.

◆ GetLastMonthTransported()

static int32 AIIndustry::GetLastMonthTransported ( IndustryID  industry_id,
CargoID  cargo_id 
)
static

Get the total amount of cargo transported from an industry last month.

Parameters
industry_idThe index of the industry.
cargo_idThe index of the cargo.
Precondition
IsValidIndustry(industry_id).
AICargo::IsValidCargo(cargo_id).
Returns
The amount of given cargo transported from this industry last month.

◆ GetLastMonthTransportedPercentage()

static int32 AIIndustry::GetLastMonthTransportedPercentage ( IndustryID  industry_id,
CargoID  cargo_id 
)
static

Get the percentage of cargo transported from an industry last month.

Parameters
industry_idThe index of the industry.
cargo_idThe index of the cargo.
Precondition
IsValidIndustry(industry_id).
AICargo::IsValidCargo(cargo_id).
Returns
The percentage of given cargo transported from this industry last month.

◆ GetLocation()

static TileIndex AIIndustry::GetLocation ( IndustryID  industry_id)
static

Gets the location of the industry.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
The location of the industry.

◆ GetName()

static char* AIIndustry::GetName ( IndustryID  industry_id)
static

Get the name of the industry.

Parameters
industry_idThe industry to get the name of.
Precondition
IsValidIndustry(industry_id).
Returns
The name of the industry.

◆ GetStockpiledCargo()

static int32 AIIndustry::GetStockpiledCargo ( IndustryID  industry_id,
CargoID  cargo_id 
)
static

Get the amount of cargo stockpiled for processing.

Parameters
industry_idThe index of the industry.
cargo_idThe index of the cargo.
Precondition
IsValidIndustry(industry_id).
AICargo::IsValidCargo(cargo_id).
Returns
The amount of cargo that is waiting for processing.

◆ HasDock()

static bool AIIndustry::HasDock ( IndustryID  industry_id)
static

Does this industry have a dock?

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
True when the industry has a dock.

◆ HasHeliport()

static bool AIIndustry::HasHeliport ( IndustryID  industry_id)
static

Does this industry have a heliport?

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
True when the industry has a heliport.

◆ IsBuiltOnWater()

static bool AIIndustry::IsBuiltOnWater ( IndustryID  industry_id)
static

Is this industry built on water.

Parameters
industry_idThe index of the industry.
Precondition
IsValidIndustry(industry_id).
Returns
True when the industry is built on water.

◆ IsCargoAccepted()

static CargoAcceptState AIIndustry::IsCargoAccepted ( IndustryID  industry_id,
CargoID  cargo_id 
)
static

See whether an industry currently accepts a certain cargo.

Parameters
industry_idThe index of the industry.
cargo_idThe index of the cargo.
Precondition
IsValidIndustry(industry_id).
AICargo::IsValidCargo(cargo_id).
Returns
Whether the industry accepts, temporarily refuses or never accepts this cargo.

◆ IsValidIndustry()

static bool AIIndustry::IsValidIndustry ( IndustryID  industry_id)
static

Checks whether the given industry index is valid.

Parameters
industry_idThe index to check.
Returns
True if and only if the industry is valid.