Public Member Functions | Data Fields

StationResolverObject Struct Reference

Station resolver. More...

#include <newgrf_station.h>

Inheritance diagram for StationResolverObject:
ResolverObject

Public Member Functions

 StationResolverObject (const StationSpec *statspec, BaseStation *st, TileIndex tile, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0)
 Resolver for stations.
TownScopeResolverGetTown ()
 Get the town scope associated with a station, if it exists.
ScopeResolverGetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
 Get a resolver for the scope.
const SpriteGroupResolveReal (const RealSpriteGroup *group) const
 Get the real sprites of the grf.

Data Fields

StationScopeResolver station_scope
 The station scope resolver.
TownScopeResolvertown_scope
 The town scope resolver (created on the first call).

Detailed Description

Station resolver.

Definition at line 43 of file newgrf_station.h.


Constructor & Destructor Documentation

StationResolverObject::StationResolverObject ( const StationSpec statspec,
BaseStation st,
TileIndex  tile,
CallbackID  callback = CBID_NO_CALLBACK,
uint32  callback_param1 = 0,
uint32  callback_param2 = 0 
)

Resolver for stations.

Parameters:
statspec Station (type) specification.
st Instance of the station.
tile Tile of the station.
callback Callback ID.
callback_param1 First parameter (var 10) of the callback.
callback_param2 Second parameter (var 18) of the callback.

Definition at line 546 of file newgrf_station.cpp.

References _svc, GoodsEntry::cargo, StationScopeResolver::cargo_type, SpecializedStation< Station, false >::From(), Station::goods, StationSpec::grf_prop, CargoSpec::Index(), SpecializedStation< Station, false >::IsExpected(), ResolverObject::root_spritegroup, GRFFilePropsBase< Tcnt >::spritegroup, StationScopeResolver::st, station_scope, StationScopeResolver::statspec, and StationCargoList::TotalCount().


Member Function Documentation

ScopeResolver* StationResolverObject::GetScope ( VarSpriteGroupScope  scope = VSG_SCOPE_SELF,
byte  relative = 0 
) [inline, virtual]

Get a resolver for the scope.

Parameters:
scope Scope to return.
relative Additional parameter for VSG_SCOPE_RELATIVE.
Returns:
The resolver for the requested scope.

Reimplemented from ResolverObject.

Definition at line 53 of file newgrf_station.h.

References GetTown(), station_scope, VSG_SCOPE_PARENT, and VSG_SCOPE_SELF.

Referenced by NIHStation::Resolve().

TownScopeResolver * StationResolverObject::GetTown (  ) 

Get the town scope associated with a station, if it exists.

On the first call, the town scope is created (if possible).

Returns:
Town scope, if available.

Definition at line 263 of file newgrf_station.cpp.

References ClosestTownFromTile(), INVALID_TILE, StationScopeResolver::st, station_scope, StationScopeResolver::tile, BaseStation::town, and town_scope.

Referenced by GetScope().


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