(svn r23453) -Add: [NoAI] AIStation.GetStationCoverageRadius(StationID)

This commit is contained in:
yexo 2011-12-08 23:28:43 +00:00
parent ca57514b9f
commit b5d707b7a0
3 changed files with 16 additions and 0 deletions

View File

@ -49,6 +49,7 @@ void SQAIStation_Register(Squirrel *engine)
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaiting, "GetCargoWaiting", 3, ".ii");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoRating, "GetCargoRating", 3, ".ii");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCoverageRadius, "GetCoverageRadius", 2, ".i");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetStationCoverageRadius, "GetStationCoverageRadius", 2, ".i");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetDistanceManhattanToTile, "GetDistanceManhattanToTile", 3, ".ii");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetDistanceSquareToTile, "GetDistanceSquareToTile", 3, ".ii");
SQAIStation.DefSQStaticMethod(engine, &ScriptStation::IsWithinTownInfluence, "IsWithinTownInfluence", 3, ".ii");

View File

@ -64,6 +64,13 @@
}
}
/* static */ int32 ScriptStation::GetStationCoverageRadius(StationID station_id)
{
if (!IsValidStation(station_id)) return -1;
return Station::Get(station_id)->GetCatchmentRadius();
}
/* static */ int32 ScriptStation::GetDistanceManhattanToTile(StationID station_id, TileIndex tile)
{
if (!IsValidStation(station_id)) return -1;

View File

@ -95,6 +95,14 @@ public:
*/
static int32 GetCoverageRadius(ScriptStation::StationType station_type);
/**
* Get the coverage radius of this station.
* @param station_id The station to get the coverage radius of.
* @pre IsValidStation(station_id).
* @return The radius in tiles.
*/
static int32 GetStationCoverageRadius(StationID station_id);
/**
* Get the manhattan distance from the tile to the ScriptStation::GetLocation()
* of the station.