mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-03 12:59:33 +00:00
(svn r15346) -Add [NoAI]: Add AIAirport::GetNearestTown() so AIs can known in which town the noise level will increase.
This commit is contained in:
parent
62a11eb5a9
commit
f2907d816f
@ -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;
|
||||
}
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user