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:

## 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.
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
| Get a resolver for the scope.
## Data Fields
ObjectScopeResolver | object_scope
| The object scope resolver.
TownScopeResolver * | town_scope
| The town scope resolver (created on the first call).
## Private Member Functions
TownScopeResolver * | GetTown ()
| 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 108 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 374 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 116 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 391 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:

- src/newgrf_object.h
- src/newgrf_object.cpp