mirror of https://github.com/OpenTTD/OpenTTD
(svn r15346) -Add [NoAI]: Add AIAirport::GetNearestTown() so AIs can known in which town the noise level will increase.
parent
62a11eb5a9
commit
f2907d816f
|
@ -125,3 +125,13 @@
|
||||||
|
|
||||||
return 1;
|
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.
|
* built at this tile.
|
||||||
* @param tile The tile to check.
|
* @param tile The tile to check.
|
||||||
* @param type The AirportType to check.
|
* @param type The AirportType to check.
|
||||||
* @return The TownID of the town closest to the tile.
|
* @return The amount of noise added to the nearest town.
|
||||||
* @note The noise will be added to the town with TownID AITile.GetClosestTown(tile).
|
* @note The noise will be added to the town with TownID GetNearestTown(itle, type).
|
||||||
*/
|
*/
|
||||||
static int GetNoiseLevelIncrease(TileIndex tile, AirportType 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 */
|
#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::RemoveAirport, "RemoveAirport", 2, "xi");
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportType, "GetAirportType", 2, "xi");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportType, "GetAirportType", 2, "xi");
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetNoiseLevelIncrease, "GetNoiseLevelIncrease", 3, "xii");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetNoiseLevelIncrease, "GetNoiseLevelIncrease", 3, "xii");
|
||||||
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetNearestTown, "GetNearestTown", 3, "xii");
|
||||||
|
|
||||||
SQAIAirport.PostRegister(engine);
|
SQAIAirport.PostRegister(engine);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue