|
@@ -29,36 +29,36 @@ struct AirportTileScopeResolver : public
|
|
|
* Constructor of the scope resolver specific for airport tiles.
|
|
|
* @param ats Specification of the airport tiles.
|
|
|
* @param tile %Tile for the callback, only valid for airporttile callbacks.
|
|
|
* @param st Station of the airport for which the callback is run, or \c NULL for build gui.
|
|
|
*/
|
|
|
AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st)
|
|
|
: ScopeResolver(ro), st(st), tile(tile)
|
|
|
{
|
|
|
assert(st != NULL);
|
|
|
this->airport_id = st->airport.type;
|
|
|
}
|
|
|
|
|
|
/* virtual */ uint32 GetRandomBits() const;
|
|
|
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
|
|
uint32 GetRandomBits() const override;
|
|
|
uint32 GetVariable(byte variable, uint32 parameter, bool *available) const override;
|
|
|
};
|
|
|
|
|
|
/** Resolver for tiles of an airport. */
|
|
|
struct AirportTileResolverObject : public ResolverObject {
|
|
|
AirportTileScopeResolver tiles_scope; ///< Scope resolver for the tiles.
|
|
|
|
|
|
AirportTileResolverObject(const AirportTileSpec *ats, TileIndex tile, Station *st,
|
|
|
CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0);
|
|
|
|
|
|
/* virtual */ ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0)
|
|
|
ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override
|
|
|
{
|
|
|
switch (scope) {
|
|
|
case VSG_SCOPE_SELF: return &tiles_scope;
|
|
|
default: return ResolverObject::GetScope(scope, relative);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* Defines the data structure of each individual tile of an airport.
|
|
|
*/
|
|
|
struct AirportTileSpec {
|