(svn r24160) -Codechange: Split parts of ObjectSpec::IsAvailable() into ObjectSpec::IsEverAvailable().

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
frosch 12 years ago
parent 1b0d3e3034
commit 27ffb03383

@ -53,16 +53,24 @@ ObjectSpec _object_specs[NUM_OBJECTS];
return ObjectSpec::Get(GetObjectType(tile));
}
/**
* Check whether the object might be available at some point in this game with the current game mode.
* @return true if it might be available.
*/
bool ObjectSpec::IsEverAvailable() const
{
return this->enabled && HasBit(this->climate, _settings_game.game_creation.landscape) &&
(this->flags & (_game_mode != GM_EDITOR ? OBJECT_FLAG_ONLY_IN_SCENEDIT : OBJECT_FLAG_ONLY_IN_GAME)) == 0;
}
/**
* Check whether the object is available at this time.
* @return true if it is available.
*/
bool ObjectSpec::IsAvailable() const
{
return this->enabled && _date > this->introduction_date &&
(_date < this->end_of_life_date || this->end_of_life_date < this->introduction_date + 365) &&
HasBit(this->climate, _settings_game.game_creation.landscape) &&
(flags & (_game_mode != GM_EDITOR ? OBJECT_FLAG_ONLY_IN_SCENEDIT : OBJECT_FLAG_ONLY_IN_GAME)) == 0;
return this->IsEverAvailable() && _date > this->introduction_date &&
(_date < this->end_of_life_date || this->end_of_life_date < this->introduction_date + 365);
}
/**

@ -82,6 +82,7 @@ struct ObjectSpec {
*/
Money GetClearCost() const { return GetPrice(PR_CLEAR_OBJECT, this->clear_cost_multiplier, this->grf_prop.grffile, 0); }
bool IsEverAvailable() const;
bool IsAvailable() const;
uint Index() const;

Loading…
Cancel
Save