Base class for all station-ish types. More...
#include <base_station_base.h>
Public Member Functions | |
BaseStation (TileIndex tile) | |
Initialize the base station. | |
virtual bool | TileBelongsToRailStation (TileIndex tile) const =0 |
Check whether a specific tile belongs to this station. | |
virtual uint32 | GetNewGRFVariable (const struct ResolverObject *object, byte variable, byte parameter, bool *available) const =0 |
Helper function to get a NewGRF variable that isn't implemented by the base class. | |
virtual void | UpdateVirtCoord ()=0 |
Update the coordinated of the sign (as shown in the viewport). | |
virtual void | GetTileArea (TileArea *ta, StationType type) const =0 |
Get the tile area for a given station type. | |
virtual uint | GetPlatformLength (TileIndex tile) const =0 |
Obtain the length of a platform. | |
virtual uint | GetPlatformLength (TileIndex tile, DiagDirection dir) const =0 |
Determines the REMAINING length of a platform, starting at (and including) the given tile. | |
bool | IsInUse () const |
Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left. | |
Static Public Member Functions | |
static BaseStation * | GetByTile (TileIndex tile) |
Get the base station belonging to a specific tile. | |
static void | PostDestructor (size_t index) |
Invalidating of the JoinStation window has to be done after removing item from the pool. | |
Data Fields | |
TileIndex | xy |
Base tile of the station. | |
ViewportSign | sign |
NOSAVE: Dimensions of sign. | |
byte | delete_ctr |
Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. | |
char * | name |
Custom name. | |
StringID | string_id |
Default name (town area) of station. | |
Town * | town |
The town this station is associated with. | |
OwnerByte | owner |
The owner of this station. | |
StationFacilityByte | facilities |
The facilities that this station has. | |
uint8 | num_specs |
Number of specs in the speclist. | |
StationSpecList * | speclist |
List of station specs of this station. | |
Date | build_date |
Date of construction. | |
uint16 | random_bits |
Random bits assigned to this station. | |
byte | waiting_triggers |
Waiting triggers (NewGRF) for this station. | |
uint8 | cached_anim_triggers |
NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. | |
uint32 | cached_cargo_triggers |
NOSAVE: Combined cargo trigger bitmask. | |
TileArea | train_station |
Tile area the train 'station' part covers. | |
StationRect | rect |
NOSAVE: Station spread out rectangle maintained by StationRect::xxx() functions. |
Base class for all station-ish types.
Definition at line 54 of file base_station_base.h.
BaseStation::BaseStation | ( | TileIndex | tile | ) | [inline] |
Initialize the base station.
tile | The location of the station sign |
Definition at line 83 of file base_station_base.h.
static BaseStation* BaseStation::GetByTile | ( | TileIndex | tile | ) | [inline, static] |
Get the base station belonging to a specific tile.
tile | The tile to get the base station from. |
Reimplemented in SpecializedStation< T, Tis_waypoint >, SpecializedStation< Station, false >, and SpecializedStation< Waypoint, true >.
Definition at line 143 of file base_station_base.h.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::Get(), and GetStationIndex().
Referenced by AfterLoadGame(), StationScopeResolver::GetVariable(), and CYapfCostRailT< Types >::PfCalcCost().
virtual uint32 BaseStation::GetNewGRFVariable | ( | const struct ResolverObject * | object, | |
byte | variable, | |||
byte | parameter, | |||
bool * | available | |||
) | const [pure virtual] |
Helper function to get a NewGRF variable that isn't implemented by the base class.
object | the resolver object related to this query | |
variable | that is queried | |
parameter | parameter for that variable | |
available | will return false if ever the variable asked for does not exist |
Implemented in Waypoint.
Referenced by StationScopeResolver::GetVariable().
virtual uint BaseStation::GetPlatformLength | ( | TileIndex | tile | ) | const [pure virtual] |
Obtain the length of a platform.
tile | A tile that contains the platform in question |
Implemented in Station, and Waypoint.
Referenced by CYapfCostRailT< Types >::PfCalcCost().
virtual uint BaseStation::GetPlatformLength | ( | TileIndex | tile, | |
DiagDirection | dir | |||
) | const [pure virtual] |
virtual void BaseStation::GetTileArea | ( | TileArea * | ta, | |
StationType | type | |||
) | const [pure virtual] |
Get the tile area for a given station type.
ta | tile area to fill. | |
type | the type of the area |
Implemented in Station, and Waypoint.
Referenced by CalcClosestStationTile().
bool BaseStation::IsInUse | ( | ) | const [inline] |
Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left.
Definition at line 154 of file base_station_base.h.
References FACIL_WAYPOINT, and facilities.
Referenced by CmdBuildRailWaypoint(), DeleteStationIfEmpty(), FindDeletedWaypointCloseTo(), FindStationsNearby(), WaypointWindow::GetCenterTile(), GetClosestDeletedStation(), WaypointWindow::OnInvalidateData(), ResetLandscapeConfirmationCallback(), StationHandleBigTick(), and UpdateStationAcceptance().
void BaseStation::PostDestructor | ( | size_t | index | ) | [static] |
Invalidating of the JoinStation window has to be done after removing item from the pool.
index | index of deleted item |
Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >.
Definition at line 129 of file station.cpp.
References InvalidateWindowData(), and WC_SELECT_STATION.
virtual bool BaseStation::TileBelongsToRailStation | ( | TileIndex | tile | ) | const [pure virtual] |
Check whether a specific tile belongs to this station.
tile | the tile to check |
Implemented in Station, and Waypoint.
Referenced by DeallocateSpecFromStation(), and StationScopeResolver::GetVariable().