(svn r19773) -Add: [NoAI] AIIndustry::GetIndustryID(TileIndex)

pull/155/head
yexo 14 years ago
parent 677f149b13
commit 69c46904b6

@ -605,6 +605,8 @@ function Regression::Industry()
} }
print(" Valid Industries: " + j); print(" Valid Industries: " + j);
print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount()); print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount());
print(" GetIndustryID(): " + AIIndustry.GetIndustryID(19694));
print(" GetIndustryID(): " + AIIndustry.GetIndustryID(19695));
} }
function Regression::IndustryList() function Regression::IndustryList()

@ -6548,6 +6548,8 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetStockpiledCargo(): 0 GetStockpiledCargo(): 0
Valid Industries: 71 Valid Industries: 71
GetIndustryCount(): 71 GetIndustryCount(): 71
GetIndustryID(): 65535
GetIndustryID(): 0
--IndustryList-- --IndustryList--
Count(): 71 Count(): 71

@ -20,6 +20,7 @@
* *
* API additions: * API additions:
* \li IsEnd for all lists. * \li IsEnd for all lists.
* \li AIIndustry::GetIndustryID
* \li AIRail::GetMaxSpeed * \li AIRail::GetMaxSpeed
* *
* API removals: * API removals:

@ -27,6 +27,12 @@
return ::Industry::IsValidID(industry_id); return ::Industry::IsValidID(industry_id);
} }
/* static */ IndustryID AIIndustry::GetIndustryID(TileIndex tile)
{
if (!::IsValidTile(tile) || !::IsTileType(tile, MP_INDUSTRY)) return INVALID_INDUSTRY;
return ::GetIndustryIndex(tile);
}
/* static */ char *AIIndustry::GetName(IndustryID industry_id) /* static */ char *AIIndustry::GetName(IndustryID industry_id)
{ {
if (!IsValidIndustry(industry_id)) return NULL; if (!IsValidIndustry(industry_id)) return NULL;

@ -36,6 +36,16 @@ public:
*/ */
static bool IsValidIndustry(IndustryID industry_id); static bool IsValidIndustry(IndustryID industry_id);
/**
* Get the IndustryID of a tile, if there is an industry.
* @param tile The tile to find the IndustryID of.
* @return IndustryID of the industry.
* @post Use IsValidIndustry() to see if the industry is valid.
* @note GetIndustryID will return an invalid IndustryID for the
* station tile of industries with a dock/heliport.
*/
static IndustryID GetIndustryID(TileIndex tile);
/** /**
* Get the name of the industry. * Get the name of the industry.
* @param industry_id The industry to get the name of. * @param industry_id The industry to get the name of.

@ -28,6 +28,7 @@ void SQAIIndustry_Register(Squirrel *engine)
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetIndustryCount, "GetIndustryCount", 1, "."); SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetIndustryCount, "GetIndustryCount", 1, ".");
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::IsValidIndustry, "IsValidIndustry", 2, ".i"); SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::IsValidIndustry, "IsValidIndustry", 2, ".i");
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetIndustryID, "GetIndustryID", 2, ".i");
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetName, "GetName", 2, ".i"); SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetName, "GetName", 2, ".i");
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::IsCargoAccepted, "IsCargoAccepted", 3, ".ii"); SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::IsCargoAccepted, "IsCargoAccepted", 3, ".ii");
SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetStockpiledCargo, "GetStockpiledCargo", 3, ".ii"); SQAIIndustry.DefSQStaticMethod(engine, &AIIndustry::GetStockpiledCargo, "GetStockpiledCargo", 3, ".ii");

Loading…
Cancel
Save