(svn r15346) -Add [NoAI]: Add AIAirport::GetNearestTown() so AIs can known in which town the noise level will increase.

This commit is contained in:
Yexo 2009-02-05 01:15:54 +00:00
parent 62a11eb5a9
commit f2907d816f
3 changed files with 22 additions and 2 deletions

View File

@ -125,3 +125,13 @@
return 1;
}
/* static */ TownID AIAirport::GetNearestTown(TileIndex tile, AirportType type)
{
extern Town *AirportGetNearestTown(const AirportFTAClass *afc, TileIndex airport_tile);
if (!::IsValidTile(tile)) return INVALID_TOWN;
if (!IsValidAirportType(type)) return INVALID_TOWN;
return AirportGetNearestTown(GetAirport(type), tile)->index;
}

View File

@ -155,10 +155,19 @@ public:
* built at this tile.
* @param tile The tile to check.
* @param type The AirportType to check.
* @return The TownID of the town closest to the tile.
* @note The noise will be added to the town with TownID AITile.GetClosestTown(tile).
* @return The amount of noise added to the nearest town.
* @note The noise will be added to the town with TownID GetNearestTown(itle, type).
*/
static int GetNoiseLevelIncrease(TileIndex tile, AirportType type);
/**
* Get the TownID of the town whose local authority will influence
* an airport at some tile.
* @param tile The tile to check.
* @param type The AirportType to check.
* @return The TownID of the town closest to the tile.
*/
static TownID GetNearestTown(TileIndex tile, AirportType type);
};
#endif /* AI_AIRPORT_HPP */

View File

@ -52,6 +52,7 @@ void SQAIAirport_Register(Squirrel *engine) {
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::RemoveAirport, "RemoveAirport", 2, "xi");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportType, "GetAirportType", 2, "xi");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetNoiseLevelIncrease, "GetNoiseLevelIncrease", 3, "xii");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetNearestTown, "GetNearestTown", 3, "xii");
SQAIAirport.PostRegister(engine);
}