From ce9305a5ee13d6fd232d869a9068fd64758c3e5d Mon Sep 17 00:00:00 2001 From: Andy <1780327+andythenorth@users.noreply.github.com> Date: Thu, 20 Jul 2023 19:35:37 +0100 Subject: [PATCH] Add: [Script] GSIndustry.GetConstructionDate() method (#11145) --- src/script/api/game_changelog.hpp | 1 + src/script/api/script_industry.cpp | 7 +++++++ src/script/api/script_industry.hpp | 9 +++++++++ 3 files changed, 17 insertions(+) diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index ba9c99fb12..fdd9d4ec8c 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -18,6 +18,7 @@ * This version is not yet released. The following changes are not set in stone yet. * * API additions: + * \li GSIndustry::GetConstructionDate * \li GSAsyncMode * \li GSCompanyMode::IsValid * \li GSCompanyMode::IsDeity diff --git a/src/script/api/script_industry.cpp b/src/script/api/script_industry.cpp index dfb28638df..eea5714f24 100644 --- a/src/script/api/script_industry.cpp +++ b/src/script/api/script_industry.cpp @@ -49,6 +49,13 @@ return GetString(STR_INDUSTRY_NAME); } +/* static */ ScriptDate::Date ScriptIndustry::GetConstructionDate(IndustryID industry_id) +{ + Industry *i = Industry::GetIfValid(industry_id); + if (i == nullptr) return ScriptDate::DATE_INVALID; + return (ScriptDate::Date)i->construction_date; +} + /* static */ bool ScriptIndustry::SetText(IndustryID industry_id, Text *text) { CCountedPtr counter(text); diff --git a/src/script/api/script_industry.hpp b/src/script/api/script_industry.hpp index e396da62cb..8edd76fa93 100644 --- a/src/script/api/script_industry.hpp +++ b/src/script/api/script_industry.hpp @@ -81,6 +81,15 @@ public: */ static std::optional GetName(IndustryID industry_id); + /** + * Get the construction date of an industry. + * @param industry_id The index of the industry. + * @pre IsValidIndustry(industry_id). + * @return Date the industry was constructed. + * @api -ai + */ + static ScriptDate::Date GetConstructionDate(IndustryID industry_id); + /** * Set the custom text of an industry, shown in the GUI. * @param industry_id The industry to set the custom text of.