Create/wiki/Lua-Train-Station.md
caelwarner 952941e5fc
Added documentation for train station peripherals and train schedules
- Added in depth documentation for working with train stations and train schedules in Lua
- Fixed small formatting issues in Lua-Rotation-Speed-Controller.md and Lua-Sequenced-Gearshift.md
2023-03-13 16:31:16 -07:00

6 KiB

Method Description
assemble() Assembles a new train at the station
disassemble() Disassembles the currently present train
setAssemblyMode(assemblyMode) Sets the station's assembly mode
isInAssemblyMode() Whether the station is in assembly mode
getStationName() Gets the station's current name
setStationName(name) Sets the station's name
isTrainPresent() Whether a train is present at the station
isTrainImminent() Whether a train is imminent to the station
isTrainEnroute() Whether a train is enroute to the station
getTrainName() Gets the currently present train's name
setTrainName(name) Sets the currently present train's name
hasSchedule() Whether the currently present train has a schedule
getSchedule() Gets the currently present train's schedule
setSchedule(schedule) Sets the currently present train's schedule

assemble()

Assembles a new train at the station. The station must be in assembly mode prior to calling this function. This function also causes the station to exit assembly mode after the train is done assembing.

Throws

  • If the station is not in assembly mode.
  • If the station is not connected to a track.
  • If the train failed to assemble.
  • If the station failed to exit assembly mode.

See also


disassemble()

Disassembles the station's currently present train. The station must not be in assembly mode.

Throws

  • If the station is in assembly mode.
  • If the station is not connected to a track.
  • If there is no currently present train at the station.
  • If the train failed to disassemble.

See also


setAssemblyMode(assemblyMode)

Sets the station's assembly mode.

Parameters

  • assemblyMode: boolean Whether the station should enter or exit assembly mode.

Throws

  • If the station fails to enter or exit assembly mode.
  • If the station is not connected to a track.

isInAssemblyMode()

Checks whether the station is in assembly mode.

Returns

  • boolean Whether the station is in assembly mode.

getStationName()

Gets the station's current name.

Returns

  • string The station's current name.

Throws

  • If the station is not connected to a track.

setStationName(name)

Sets the station's name.

Parameters

  • name: string The name to set the station to.

Throws

  • If the station name fails to be set.
  • If the station is not connected to a track.

isTrainPresent()

Checks whether a train is currently present at the station.

Returns

  • Whether a train is present at the station.

Throws

  • If the station is not connected to a track.

isTrainImminent()

Checks whether a train is imminently arriving at the station. Imminent is defined as being within 30 meters of the station. This will not be true if the train has arrived and stopped at the station.

Returns

  • Whether a train is imminent to the station.

Throws

  • If the station is not connected to a track.

See also


isTrainEnroute()

Checks whether a train is enroute and navigating to the station.

Returns

  • boolean Whether a train is enroute to the station.

Throws

  • If the station is not connected to a track.

getTrainName()

Gets the currently present train's name.

Returns

  • string The currently present train's name.

Throws

  • If the station is not connected to a track.
  • If there is no currently present train at the station.

setTrainName(name)

Sets the currently present train's name.

Parameters

  • name: string The name to set the currently present train to.

Throws

  • If the station is not connected to a track.
  • If there is no currently present train at the station.

hasSchedule()

Checks whether the currently present train has a schedule.

Returns

  • boolean Whether the currently present train has a schedule.

Throws

  • If the station is not connected to a track.
  • If there is no currently present train at the station.

getSchedule()

Gets the currently present train's schedule.

Returns

  • table The train's schedule

Throws

  • If the station is not connected to a track.
  • If there is no currently present train at the station.
  • If the present train doesn't have a schedule.

See also


setSchedule(schedule)

Sets the currently present train's schedule. This will overwrite the currently set schedule.

Parameters

  • schedule: table The schedule to set the present train to.

Throws

  • If the station is not connected to a track.
  • If there is no currently present train at the station.

See also