AIIndustry Class Reference

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

#include <ai_industry.hpp>

Inheritance diagram for AIIndustry:

AIObject SimpleCountedObject

Static Public Member Functions

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

Detailed Description

Class that handles all industry related functions.

Definition at line 13 of file ai_industry.hpp.


Member Function Documentation

int32 AIIndustry::GetIndustryCount (  )  [static]

Gets the number of industries.

Returns:
The number of industries.
Postcondition:
Return value is always non-negative.
Note:
The maximum valid IndustryID can be higher then the value returned.

Definition at line 14 of file ai_industry.cpp.

bool AIIndustry::IsValidIndustry ( IndustryID  industry_id  )  [static]

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

Get the name of the industry.

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

Definition at line 24 of file ai_industry.cpp.

References IsValidIndustry().

bool AIIndustry::IsCargoAccepted ( IndustryID  industry_id,
CargoID  cargo_id 
) [static]

See if an industry accepts a certain cargo.

Parameters:
industry_id The index of the industry.
cargo_id The index of the cargo.
Precondition:
IsValidIndustry(industry_id).

AICargo::IsValidCargo(cargo_id).

Returns:
True if and only if the industry accepts the cargo.

Definition at line 36 of file ai_industry.cpp.

References Industry::accepts_cargo, AICargo::IsValidCargo(), IsValidIndustry(), and lengthof.

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

Get the amount of cargo stockpiled for processing.

Parameters:
industry_id The index of the industry.
cargo_id The index of the cargo.
Precondition:
IsValidIndustry(industry_id).

AICargo::IsValidCargo(cargo_id).

Returns:
The amount of cargo that is waiting for processing.

Definition at line 50 of file ai_industry.cpp.

References Industry::accepts_cargo, Industry::incoming_cargo_waiting, AICargo::IsValidCargo(), IsValidIndustry(), and lengthof.

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_id The index of the industry.
cargo_id The 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.

Definition at line 66 of file ai_industry.cpp.

References AICargo::IsValidCargo(), IsValidIndustry(), Industry::last_month_production, lengthof, and Industry::produced_cargo.

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

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

Parameters:
industry_id The index of the industry.
cargo_id The index of the cargo.
Precondition:
IsValidIndustry(industry_id).

AICargo::IsValidCargo(cargo_id).

Returns:
The amount of given cargo transported from this industry last month.

Definition at line 80 of file ai_industry.cpp.

References AICargo::IsValidCargo(), IsValidIndustry(), Industry::last_month_transported, lengthof, and Industry::produced_cargo.

TileIndex AIIndustry::GetLocation ( IndustryID  industry_id  )  [static]

Gets the location of the industry.

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

Definition at line 94 of file ai_industry.cpp.

References INVALID_TILE, and IsValidIndustry().

Referenced by GetDistanceManhattanToTile(), and GetDistanceSquareToTile().

int32 AIIndustry::GetAmountOfStationsAround ( IndustryID  industry_id  )  [static]

Get the number of stations around an industry.

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

Definition at line 101 of file ai_industry.cpp.

References FindStationsAroundTiles(), Industry::height, IsValidIndustry(), Industry::width, and Industry::xy.

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_id The industry to get the distance to.
tile The tile to get the distance to.
Precondition:
IsValidIndustry(industry_id).

AIMap::IsValidTile(tile).

Returns:
The distance between industry and tile.

Definition at line 111 of file ai_industry.cpp.

References AIMap::DistanceManhattan(), GetLocation(), and IsValidIndustry().

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_id The industry to get the distance to.
tile The tile to get the distance to.
Precondition:
IsValidIndustry(industry_id).

AIMap::IsValidTile(tile).

Returns:
The distance between industry and tile.

Definition at line 118 of file ai_industry.cpp.

References AIMap::DistanceSquare(), GetLocation(), and IsValidIndustry().

bool AIIndustry::IsBuiltOnWater ( IndustryID  industry_id  )  [static]

Is this industry built on water.

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

Definition at line 125 of file ai_industry.cpp.

References GetIndustrySpec(), INDUSTRYBEH_BUILT_ONWATER, and IsValidIndustry().

bool AIIndustry::HasHeliport ( IndustryID  industry_id  )  [static]

Does this industry have a heliport?

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

Definition at line 132 of file ai_industry.cpp.

References GetIndustrySpec(), INDUSTRYBEH_AI_AIRSHIP_ROUTES, and IsValidIndustry().

Referenced by GetHeliportLocation().

TileIndex AIIndustry::GetHeliportLocation ( IndustryID  industry_id  )  [static]

Gets the location of the industry's heliport.

Parameters:
industry_id The index of the industry.
Precondition:
IsValidIndustry(industry_id).

HasHeliport(industry_id).

Returns:
The location of the industry's heliport.

Definition at line 139 of file ai_industry.cpp.

References BEGIN_TILE_LOOP, END_TILE_LOOP, HasHeliport(), Industry::height, INVALID_TILE, IsTileType(), IsValidIndustry(), MP_STATION, Industry::width, and Industry::xy.

bool AIIndustry::HasDock ( IndustryID  industry_id  )  [static]

Does this industry have a dock?

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

Definition at line 154 of file ai_industry.cpp.

References GetIndustrySpec(), INDUSTRYBEH_AI_AIRSHIP_ROUTES, and IsValidIndustry().

Referenced by GetDockLocation().

TileIndex AIIndustry::GetDockLocation ( IndustryID  industry_id  )  [static]

Gets the location of the industry's dock.

Parameters:
industry_id The index of the industry.
Precondition:
IsValidIndustry(industry_id).

HasDock(industry_id).

Returns:
The location of the industry's dock.

Definition at line 161 of file ai_industry.cpp.

References BEGIN_TILE_LOOP, END_TILE_LOOP, HasDock(), Industry::height, INVALID_TILE, IsTileType(), IsValidIndustry(), MP_STATION, Industry::width, and Industry::xy.

IndustryType AIIndustry::GetIndustryType ( IndustryID  industry_id  )  [static]

Get the IndustryType of the industry.

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

Definition at line 176 of file ai_industry.cpp.

References INVALID_INDUSTRYTYPE, and IsValidIndustry().


The documentation for this class was generated from the following files:

Generated on Wed Apr 1 14:38:32 2009 for OpenTTD by  doxygen 1.5.6