Public Member Functions | Data Fields | Private Member Functions

ObjectResolverObject Struct Reference

A resolver object to be used with feature 0F spritegroups. More...

#include <newgrf_object.h>

Inheritance diagram for ObjectResolverObject:
ResolverObject

Public Member Functions

 ObjectResolverObject (const ObjectSpec *spec, Object *o, TileIndex tile, uint8 view=0, CallbackID callback=CBID_NO_CALLBACK, uint32 param1=0, uint32 param2=0)
 Constructor of the object resolver.
ScopeResolverGetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
 Get a resolver for the scope.

Data Fields

ObjectScopeResolver object_scope
 The object scope resolver.
TownScopeResolvertown_scope
 The town scope resolver (created on the first call).

Private Member Functions

TownScopeResolverGetTown ()
 Get the town resolver scope that belongs to this object resolver.

Detailed Description

A resolver object to be used with feature 0F spritegroups.

Definition at line 114 of file newgrf_object.h.


Constructor & Destructor Documentation

ObjectResolverObject::ObjectResolverObject ( const ObjectSpec spec,
Object obj,
TileIndex  tile,
uint8  view = 0,
CallbackID  callback = CBID_NO_CALLBACK,
uint32  param1 = 0,
uint32  param2 = 0 
)

Constructor of the object resolver.

Parameters:
obj Object being resolved.
tile Tile of the object.
view View of the object.
callback Callback ID.
callback_param1 First parameter (var 10) of the callback.
callback_param2 Second parameter (var 18) of the callback.

Definition at line 384 of file newgrf_object.cpp.

References town_scope.


Member Function Documentation

ScopeResolver* ObjectResolverObject::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 122 of file newgrf_object.h.

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

Referenced by NIHObject::Resolve().

TownScopeResolver * ObjectResolverObject::GetTown (  )  [private]

Get the town resolver scope that belongs to this object resolver.

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

Returns:
Town scope, if available.

Definition at line 401 of file newgrf_object.cpp.

References ClosestTownFromTile(), ObjectScopeResolver::obj, object_scope, ObjectScopeResolver::tile, Object::town, and town_scope.

Referenced by GetScope().


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