OpenTTD
Public Member Functions | Data Fields
TownScopeResolver Struct Reference

Scope resolver for a town. More...

#include <newgrf_town.h>

Inheritance diagram for TownScopeResolver:
ScopeResolver

Public Member Functions

 TownScopeResolver (ResolverObject &ro, Town *t, bool readonly)
 Resolver of a town scope. More...
 
virtual uint32 GetVariable (byte variable, uint32 parameter, bool *available) const
 Get a variable value. More...
 
virtual void StorePSA (uint reg, int32 value)
 Store a value into the persistent storage area (PSA). More...
 
- Public Member Functions inherited from ScopeResolver
 ScopeResolver (ResolverObject &ro)
 
virtual uint32 GetRandomBits () const
 Get a few random bits. More...
 
virtual uint32 GetTriggers () const
 Get the triggers. More...
 

Data Fields

Townt
 Town of the scope.
 
bool readonly
 When set, persistent storage of the town is read-only,.
 
- Data Fields inherited from ScopeResolver
ResolverObjectro
 Surrounding resolver object.
 

Detailed Description

Scope resolver for a town.

Note
Currently there is no direct town resolver; we only need to get town variable results from inside stations, house tiles and industries, and to check the town's persistent storage.

Definition at line 24 of file newgrf_town.h.

Constructor & Destructor Documentation

◆ TownScopeResolver()

TownScopeResolver::TownScopeResolver ( ResolverObject ro,
Town t,
bool  readonly 
)
inline

Resolver of a town scope.

Parameters
roSurrounding resolver.
tTown of the scope.
readonlyScope may change persistent storage of the town.

Definition at line 34 of file newgrf_town.h.

References GetVariable(), and StorePSA().

Member Function Documentation

◆ GetVariable()

uint32 TownScopeResolver::GetVariable ( byte  variable,
uint32  parameter,
bool *  available 
) const
virtual

Get a variable value.

Default implementation has no available variables.

Parameters
variableVariable to read
parameterParameter for 60+x variables
[out]availableSet to false, in case the variable does not exist.
Returns
Value

Reimplemented from ScopeResolver.

Definition at line 19 of file newgrf_town.cpp.

References _settings_game, Town::cache, ClampToU16(), GameSettings::economy, Town::flags, 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, TownCache::num_houses, TownCache::population, Town::ratings, ScopeResolver::ro, TownCache::squared_town_zone_radius, Town::statues, Town::supplied, t, TOWN_GROW_RATE_CUSTOM, and Town::xy.

Referenced by TownScopeResolver().

◆ StorePSA()

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).

Parameters
posPosition to store into.
valueValue to store.

Reimplemented from ScopeResolver.

Definition at line 122 of file newgrf_town.cpp.

References readonly.

Referenced by TownScopeResolver().


The documentation for this struct was generated from the following files: