Public Member Functions | Data Fields

# IndustriesResolverObject Struct Reference

Resolver for industries. More...

`#include <newgrf_industries.h>`

Inheritance diagram for IndustriesResolverObject:

## 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.
TownScopeResolver * | GetTown ()
| Get or create the town scope object associated with the industry.
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
| Get a resolver for the scope.
## Data Fields
IndustriesScopeResolver | industries_scope
| Scope resolver for the industry.
TownScopeResolver * | town_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.

## 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 446 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:

- src/newgrf_industries.h
- src/newgrf_industries.cpp