mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r16252) -Add [NoAI]: AIAirport::GetPrice, returning the building cost of an airport
This commit is contained in:
parent
e92efe028c
commit
9b4a32deb4
@ -220,6 +220,7 @@ function Regression::Airport()
|
|||||||
}
|
}
|
||||||
|
|
||||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||||
|
print(" GetPrice(): " + AIAirport.GetPrice(0));
|
||||||
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, AIStation.STATION_JOIN_ADJACENT));
|
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, AIStation.STATION_JOIN_ADJACENT));
|
||||||
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116));
|
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116));
|
||||||
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116));
|
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116));
|
||||||
|
@ -620,6 +620,7 @@
|
|||||||
GetAirportHeight(9): -1
|
GetAirportHeight(9): -1
|
||||||
GetAirportCoverageRadius(9): -1
|
GetAirportCoverageRadius(9): -1
|
||||||
GetBankBalance(): 100000
|
GetBankBalance(): 100000
|
||||||
|
GetPrice(): 84
|
||||||
BuildAirport(): true
|
BuildAirport(): true
|
||||||
IsHangarTile(): false
|
IsHangarTile(): false
|
||||||
IsAirportTile(): true
|
IsAirportTile(): true
|
||||||
|
@ -8,12 +8,21 @@
|
|||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
#include "../../command_type.h"
|
#include "../../command_type.h"
|
||||||
#include "../../town.h"
|
#include "../../town.h"
|
||||||
|
#include "../../economy_func.h"
|
||||||
|
|
||||||
/* static */ bool AIAirport::IsValidAirportType(AirportType type)
|
/* static */ bool AIAirport::IsValidAirportType(AirportType type)
|
||||||
{
|
{
|
||||||
return type >= AT_SMALL && type <= AT_HELISTATION && HasBit(::GetValidAirports(), type);
|
return type >= AT_SMALL && type <= AT_HELISTATION && HasBit(::GetValidAirports(), type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* static */ Money AIAirport::GetPrice(AirportType type)
|
||||||
|
{
|
||||||
|
if (!IsValidAirportType(type)) return -1;
|
||||||
|
|
||||||
|
const AirportFTAClass *afc = ::GetAirport(type);
|
||||||
|
return _price.build_airport * afc->size_x * afc->size_y;
|
||||||
|
}
|
||||||
|
|
||||||
/* static */ bool AIAirport::IsHangarTile(TileIndex tile)
|
/* static */ bool AIAirport::IsHangarTile(TileIndex tile)
|
||||||
{
|
{
|
||||||
if (!::IsValidTile(tile)) return false;
|
if (!::IsValidTile(tile)) return false;
|
||||||
|
@ -53,6 +53,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
static bool IsValidAirportType(AirportType type);
|
static bool IsValidAirportType(AirportType type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the cost to build this AirportType.
|
||||||
|
* @param type The AirportType to check.
|
||||||
|
* @return The cost of building this AirportType.
|
||||||
|
*/
|
||||||
|
static Money GetPrice(AirportType type);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether the given tile is actually a tile with a hangar.
|
* Checks whether the given tile is actually a tile with a hangar.
|
||||||
* @param tile The tile to check.
|
* @param tile The tile to check.
|
||||||
|
@ -39,6 +39,7 @@ void SQAIAirport_Register(Squirrel *engine) {
|
|||||||
SQAIAirport.DefSQConst(engine, AIAirport::PT_INVALID, "PT_INVALID");
|
SQAIAirport.DefSQConst(engine, AIAirport::PT_INVALID, "PT_INVALID");
|
||||||
|
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsValidAirportType, "IsValidAirportType", 2, ".i");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsValidAirportType, "IsValidAirportType", 2, ".i");
|
||||||
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetPrice, "GetPrice", 2, ".i");
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsHangarTile, "IsHangarTile", 2, ".i");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsHangarTile, "IsHangarTile", 2, ".i");
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsAirportTile, "IsAirportTile", 2, ".i");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsAirportTile, "IsAirportTile", 2, ".i");
|
||||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportWidth, "GetAirportWidth", 2, ".i");
|
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportWidth, "GetAirportWidth", 2, ".i");
|
||||||
|
Loading…
Reference in New Issue
Block a user