Scope resolver for a town. More...
#include <newgrf_town.h>
Public Member Functions | |
TownScopeResolver (ResolverObject &ro, Town *t, bool readonly) | |
Resolver of a town scope. | |
virtual uint32 | GetVariable (byte variable, uint32 parameter, bool *available) const |
Get a variable value. | |
virtual void | StorePSA (uint reg, int32 value) |
Store a value into the persistent storage area (PSA). | |
Data Fields | |
Town * | t |
Town of the scope. | |
bool | readonly |
When set, persistent storage of the town is read-only,. |
Scope resolver for a town.
Definition at line 24 of file newgrf_town.h.
TownScopeResolver::TownScopeResolver | ( | ResolverObject & | ro, | |
Town * | t, | |||
bool | readonly | |||
) |
Resolver of a town scope.
ro | Surrounding resolver. | |
t | Town of the scope. | |
readonly | Scope may change persistent storage of the town. |
Definition at line 23 of file newgrf_town.cpp.
uint32 TownScopeResolver::GetVariable | ( | byte | variable, | |
uint32 | parameter, | |||
bool * | available | |||
) | const [virtual] |
Get a variable value.
Default implementation has no available variables.
variable | Variable to read | |
parameter | Parameter for 60+x variables | |
[out] | available | Set to false, in case the variable does not exist. |
Reimplemented from ScopeResolver.
Definition at line 29 of file newgrf_town.cpp.
References _settings_game, Town::cache, ClampToU16(), DEBUG, GameSettings::economy, Town::flags, Town::fund_buildings_months, GB(), GetRegister(), ResolverObject::grffile, Town::grow_counter, Town::growth_rate, Town::have_ratings, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Town::larger_town, EconomySettings::larger_towns, TransportedCargoStat< Tstorage >::new_act, TransportedCargoStat< Tstorage >::new_max, TownCache::num_houses, TransportedCargoStat< Tstorage >::old_act, TransportedCargoStat< Tstorage >::old_max, TownCache::population, Town::ratings, Town::received, ScopeResolver::ro, Town::road_build_months, TownCache::squared_town_zone_radius, Town::statues, Town::supplied, t, TE_FOOD, TE_WATER, TOWN_GROW_RATE_CUSTOM, and Town::xy.
void TownScopeResolver::StorePSA | ( | uint | reg, | |
int32 | value | |||
) | [virtual] |
Store a value into the persistent storage area (PSA).
Default implementation does nothing (for newgrf classes without storage).
pos | Position to store into. | |
value | Value to store. |
Reimplemented from ScopeResolver.
Definition at line 132 of file newgrf_town.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool >::CanAllocateItem(), GetRegister(), ResolverObject::grffile, GSF_FAKE_TOWNS, readonly, ScopeResolver::ro, PersistentStorageArray< TYPE, SIZE >::StoreValue(), t, and Town::xy.