Public Member Functions | Data Fields

IndustriesResolverObject Struct Reference

Resolver for industries. More...

#include <newgrf_industries.h>

Inheritance diagram for IndustriesResolverObject:
ResolverObject

Public Member Functions

 IndustriesResolverObject (TileIndex tile, Industry *indus, IndustryType type, uint32 random_bits=0, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0)
 Constructor of the industries resolver.
TownScopeResolverGetTown ()
 Get or create the town scope object associated with the industry.
ScopeResolverGetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
 Get a resolver for the scope.

Data Fields

IndustriesScopeResolver industries_scope
 Scope resolver for the industry.
TownScopeResolvertown_scope
 Scope resolver for the associated town (if needed and available, else NULL).

Detailed Description

Resolver for industries.

Definition at line 34 of file newgrf_industries.h.


Constructor & Destructor Documentation

IndustriesResolverObject::IndustriesResolverObject ( TileIndex  tile,
Industry indus,
IndustryType  type,
uint32  random_bits = 0,
CallbackID  callback = CBID_NO_CALLBACK,
uint32  callback_param1 = 0,
uint32  callback_param2 = 0 
)

Constructor of the industries resolver.

Parameters:
tile Tile owned by the industry.
industry Industry being resolved.
type Type of the industry.
random_bits Random bits of the new industry.
callback Callback ID.
callback_param1 First parameter (var 10) of the callback.
callback_param2 Second parameter (var 18) of the callback.

Definition at line 429 of file newgrf_industries.cpp.

References GetIndustrySpec(), IndustrySpec::grf_prop, ResolverObject::root_spritegroup, and GRFFilePropsBase< Tcnt >::spritegroup.


Member Function Documentation

ScopeResolver* IndustriesResolverObject::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 44 of file newgrf_industries.h.

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

Referenced by NIHIndustry::Resolve().

TownScopeResolver * IndustriesResolverObject::GetTown (  ) 

Get or create the town scope object associated with the industry.

Returns:
The associated town scope, if it exists.

Definition at line 447 of file newgrf_industries.cpp.

References ClosestTownFromTile(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, industries_scope, IndustriesScopeResolver::industry, INVALID_TILE, IndustriesScopeResolver::tile, Industry::town, and town_scope.

Referenced by GetScope().


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