AIEngine Class Reference

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

Inheritance diagram for AIEngine:

AIObject

Static Public Member Functions

static bool IsValidEngine (EngineID engine_id)
 Checks whether the given engine type is valid and buildable by you.
static char * GetName (EngineID engine_id)
 Get the name of an engine.
static CargoID GetCargoType (EngineID engine_id)
 Get the cargo-type of an engine.
static bool CanRefitCargo (EngineID engine_id, CargoID cargo_id)
 Check if the cargo of an engine can be refitted to your requested.
static bool CanPullCargo (EngineID engine_id, CargoID cargo_id)
 Check if the engine can pull a wagon with the given cargo.
static int32 GetCapacity (EngineID engine_id)
 Get the capacity of an engine.
static int32 GetReliability (EngineID engine_id)
 Get the reliability of an engine.
static int32 GetMaxSpeed (EngineID engine_id)
 Get the maximum speed of an engine.
static Money GetPrice (EngineID engine_id)
 Get the new cost of an engine.
static int32 GetMaxAge (EngineID engine_id)
 Get the maximum age of a brand new engine.
static Money GetRunningCost (EngineID engine_id)
 Get the running cost of an engine.
static int32 GetPower (EngineID engine_id)
 Get the power of an engine.
static int32 GetWeight (EngineID engine_id)
 Get the weight of an engine.
static int32 GetMaxTractiveEffort (EngineID engine_id)
 Get the maximum tractive effort of an engine.
static int32 GetDesignDate (EngineID engine_id)
 Get the date this engine was designed.
static AIVehicle::VehicleType GetVehicleType (EngineID engine_id)
 Get the type of an engine.
static bool IsWagon (EngineID engine_id)
 Check if an engine is a wagon.
static bool CanRunOnRail (EngineID engine_id, AIRail::RailType track_rail_type)
 Check if a train vehicle can run on a RailType.
static bool HasPowerOnRail (EngineID engine_id, AIRail::RailType track_rail_type)
 Check if a train engine has power on a RailType.
static AIRoad::RoadType GetRoadType (EngineID engine_id)
 Get the RoadType of the engine.
static AIRail::RailType GetRailType (EngineID engine_id)
 Get the RailType of the engine.
static bool IsArticulated (EngineID engine_id)
 Check if the engine is articulated.
static AIAirport::PlaneType GetPlaneType (EngineID engine_id)
 Get the PlaneType of the engine.

Detailed Description

Class that handles all engine related functions.

Member Function Documentation

static bool AIEngine::IsValidEngine ( EngineID  engine_id  )  [static]

Checks whether the given engine type is valid and buildable by you.

Parameters:
engine_id The engine to check.
Returns:
True if and only if the engine type is valid.

static char* AIEngine::GetName ( EngineID  engine_id  )  [static]

Get the name of an engine.

Parameters:
engine_id The engine to get the name of.
Precondition:
IsValidEngine(engine_id).
Returns:
The name the engine has.

static CargoID AIEngine::GetCargoType ( EngineID  engine_id  )  [static]

Get the cargo-type of an engine.

In case it can transport 2 cargos, it returns the first.

Parameters:
engine_id The engine to get the cargo-type of.
Precondition:
IsValidEngine(engine_id).
Returns:
The cargo-type of the engine.

static bool AIEngine::CanRefitCargo ( EngineID  engine_id,
CargoID  cargo_id 
) [static]

Check if the cargo of an engine can be refitted to your requested.

If the engine already allows this cargo, the function also returns true.

Parameters:
engine_id The engine to check for refitting.
cargo_id The cargo to check for refitting.
Precondition:
IsValidEngine(engine_id).

AICargo::IsValidCargo(cargo_id).

Returns:
True if the engine can carry this cargo, either via refit, or by default.

static bool AIEngine::CanPullCargo ( EngineID  engine_id,
CargoID  cargo_id 
) [static]

Check if the engine can pull a wagon with the given cargo.

Parameters:
engine_id The engine to check.
cargo_id The cargo to check.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

AICargo::IsValidCargo(cargo_id).

Returns:
True if the engine can pull wagons carrying this cargo.
Note:
This function is not exhaustive; a true here does not mean that the vehicle can pull the wagons, a false does mean it can't.

static int32 AIEngine::GetCapacity ( EngineID  engine_id  )  [static]

Get the capacity of an engine.

In case it can transport 2 cargos, it returns the first.

Parameters:
engine_id The engine to get the capacity of.
Precondition:
IsValidEngine(engine_id).
Returns:
The capacity of the engine.

static int32 AIEngine::GetReliability ( EngineID  engine_id  )  [static]

Get the reliability of an engine.

The value is between 0 and 100, where 100 means 100% reliability (never breaks down) and 0 means 0% reliability (you most likely don't want to buy it).

Parameters:
engine_id The engine to get the reliability of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) != AIVehicle::VT_TRAIN || !IsWagon(engine_id).

Returns:
The reliability the engine has.

static int32 AIEngine::GetMaxSpeed ( EngineID  engine_id  )  [static]

Get the maximum speed of an engine.

Parameters:
engine_id The engine to get the maximum speed of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) != AIVehicle::VT_TRAIN || !IsWagon(engine_id).

Returns:
The maximum speed the engine has.
Note:
The speed is in OpenTTD's internal speed unit. This is mph / 1.6, which is roughly km/h. To get km/h multiply this number by 1.00584.

static Money AIEngine::GetPrice ( EngineID  engine_id  )  [static]

Get the new cost of an engine.

Parameters:
engine_id The engine to get the new cost of.
Precondition:
IsValidEngine(engine_id).
Returns:
The new cost the engine has.

static int32 AIEngine::GetMaxAge ( EngineID  engine_id  )  [static]

Get the maximum age of a brand new engine.

Parameters:
engine_id The engine to get the maximum age of.
Precondition:
IsValidEngine(engine_id).
Returns:
The maximum age of a new engine in days.
Note:
Age is in days; divide by 366 to get per year.

static Money AIEngine::GetRunningCost ( EngineID  engine_id  )  [static]

Get the running cost of an engine.

Parameters:
engine_id The engine to get the running cost of.
Precondition:
IsValidEngine(engine_id).
Returns:
The running cost of a vehicle per year.
Note:
Cost is per year; divide by 365 to get per day.

static int32 AIEngine::GetPower ( EngineID  engine_id  )  [static]

Get the power of an engine.

Parameters:
engine_id The engine to get the power of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL && !IsWagon(engine_id).

Returns:
The power of the engine in hp.

static int32 AIEngine::GetWeight ( EngineID  engine_id  )  [static]

Get the weight of an engine.

Parameters:
engine_id The engine to get the weight of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

Returns:
The weight of the engine in metric tons.

static int32 AIEngine::GetMaxTractiveEffort ( EngineID  engine_id  )  [static]

Get the maximum tractive effort of an engine.

Parameters:
engine_id The engine to get the maximum tractive effort of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL && !IsWagon(engine_id).

Returns:
The maximum tractive effort of the engine in kN.

static int32 AIEngine::GetDesignDate ( EngineID  engine_id  )  [static]

Get the date this engine was designed.

Parameters:
engine_id The engine to get the design date of.
Precondition:
IsValidEngine(engine_id).
Returns:
The date this engine was designed.

static AIVehicle::VehicleType AIEngine::GetVehicleType ( EngineID  engine_id  )  [static]

Get the type of an engine.

Parameters:
engine_id The engine to get the type of.
Precondition:
IsValidEngine(engine_id).
Returns:
The type the engine has.

static bool AIEngine::IsWagon ( EngineID  engine_id  )  [static]

Check if an engine is a wagon.

Parameters:
engine_id The engine to check.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

Returns:
Whether or not the engine is a wagon.

static bool AIEngine::CanRunOnRail ( EngineID  engine_id,
AIRail::RailType  track_rail_type 
) [static]

Check if a train vehicle can run on a RailType.

Parameters:
engine_id The engine to check.
track_rail_type The type you want to check.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

AIRail::IsRailTypeAvailable(track_rail_type).

Returns:
Whether an engine of type 'engine_id' can run on 'track_rail_type'.
Note:
Even if a train can run on a RailType that doesn't mean that it'll be able to power the train. Use HasPowerOnRail for that.

static bool AIEngine::HasPowerOnRail ( EngineID  engine_id,
AIRail::RailType  track_rail_type 
) [static]

Check if a train engine has power on a RailType.

Parameters:
engine_id The engine to check.
track_rail_type Another RailType.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

AIRail::IsRailTypeAvailable(track_rail_type).

Returns:
Whether an engine of type 'engine_id' has power on 'track_rail_type'.

static AIRoad::RoadType AIEngine::GetRoadType ( EngineID  engine_id  )  [static]

Get the RoadType of the engine.

Parameters:
engine_id The engine to get the RoadType of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_ROAD.

Returns:
The RoadType the engine has.

static AIRail::RailType AIEngine::GetRailType ( EngineID  engine_id  )  [static]

Get the RailType of the engine.

Parameters:
engine_id The engine to get the RailType of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

Returns:
The RailType the engine has.

static bool AIEngine::IsArticulated ( EngineID  engine_id  )  [static]

Check if the engine is articulated.

Parameters:
engine_id The engine to check.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_ROAD || GetVehicleType(engine_id) == AIVehicle::VT_RAIL.

Returns:
True if the engine is articulated.

static AIAirport::PlaneType AIEngine::GetPlaneType ( EngineID  engine_id  )  [static]

Get the PlaneType of the engine.

Parameters:
engine_id The engine to get the PlaneType of.
Precondition:
IsValidEngine(engine_id).

GetVehicleType(engine_id) == AIVehicle::VT_AIR.

Returns:
The PlaneType the engine has.


Generated on Thu Oct 1 11:02:41 2009 for OpenTTD NoAI API by  doxygen 1.5.6