AISubsidy Class Reference

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

Inheritance diagram for AISubsidy:

AIObject

Static Public Member Functions

static bool IsValidSubsidy (SubsidyID subsidy_id)
 Check whether this is a valid SubsidyID.
static bool IsAwarded (SubsidyID subsidy_id)
 Checks whether this subsidy is already awarded to some company.
static AICompany::CompanyID GetAwardedTo (SubsidyID subsidy_id)
 Get the company index of the company this subsidy is awarded to.
static int32 GetExpireDate (SubsidyID subsidy_id)
 Get the date this subsidy expires.
static CargoID GetCargoType (SubsidyID subsidy_id)
 Get the cargo type that has to be transported in order to be awarded this subsidy.
static bool SourceIsTown (SubsidyID subsidy_id)
 Is the source of the subsidy a town or an industry.
static int32 GetSource (SubsidyID subsidy_id)
 Return the source TownID/IndustryID/StationID the subsidy is for.
static bool DestinationIsTown (SubsidyID subsidy_id)
 Is the destination of the subsidy a town or an industry.
static int32 GetDestination (SubsidyID subsidy_id)
 Return the destination TownID/IndustryID/StationID the subsidy is for.

Detailed Description

Class that handles all subsidy related functions.

Member Function Documentation

static bool AISubsidy::IsValidSubsidy ( SubsidyID  subsidy_id  )  [static]

Check whether this is a valid SubsidyID.

Parameters:
subsidy_id The SubsidyID to check.
Returns:
True if and only if this subsidy is still valid.

static bool AISubsidy::IsAwarded ( SubsidyID  subsidy_id  )  [static]

Checks whether this subsidy is already awarded to some company.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy).
Returns:
True if and only if this subsidy is already awarded.

static AICompany::CompanyID AISubsidy::GetAwardedTo ( SubsidyID  subsidy_id  )  [static]

Get the company index of the company this subsidy is awarded to.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsAwarded(subsidy_id).
Returns:
The companyindex of the company this subsidy is awarded to.

static int32 AISubsidy::GetExpireDate ( SubsidyID  subsidy_id  )  [static]

Get the date this subsidy expires.

In case the subsidy is already awarded, return the date the subsidy expires, else, return the date the offer expires.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id).
Returns:
The last valid date of this subsidy.
Note:
The return value of this function will change if the subsidy is awarded.

static CargoID AISubsidy::GetCargoType ( SubsidyID  subsidy_id  )  [static]

Get the cargo type that has to be transported in order to be awarded this subsidy.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id).
Returns:
The cargo type to transport.

static bool AISubsidy::SourceIsTown ( SubsidyID  subsidy_id  )  [static]

Is the source of the subsidy a town or an industry.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id) && !IsAwarded(subsidy_id).
Returns:
True if the source is a town, false if it is an industry.

static int32 AISubsidy::GetSource ( SubsidyID  subsidy_id  )  [static]

Return the source TownID/IndustryID/StationID the subsidy is for.

1) IsAwarded(subsidy_id) -> return the StationID the subsidy is awarded to. 2) !IsAwarded(subsidy_id) && SourceIsTown(subsidy_id) -> return the TownID. 3) !IsAwarded(subsidy_id) && !SourceIsTown(subsidy_id) -> return the IndustryID.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id).
Returns:
One of TownID/IndustryID/StationID.

static bool AISubsidy::DestinationIsTown ( SubsidyID  subsidy_id  )  [static]

Is the destination of the subsidy a town or an industry.

Parameters:
subsidy_id The SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id) && !IsAwarded(subsidy_id).
Returns:
True if the destination is a town, false if it is an industry.

static int32 AISubsidy::GetDestination ( SubsidyID  subsidy_id  )  [static]

Return the destination TownID/IndustryID/StationID the subsidy is for.

1) IsAwarded(subsidy_id) -> return the StationID the subsidy is awarded to. 2) !IsAwarded(subsidy_id) && SourceIsTown(subsidy_id) -> return the TownID. 3) !IsAwarded(subsidy_id) && !SourceIsTown(subsidy_id) -> return the IndustryID.

Parameters:
subsidy_id the SubsidyID to check.
Precondition:
IsValidSubsidy(subsidy_id).
Returns:
One of TownID/IndustryID/StationID.


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