Skip to main content

LuaRailEnd

Struct LuaRailEnd 

Source
pub struct LuaRailEnd;
Expand description

Utility object that binds to a rail entity and rail_direction to allow easier traversal over rails

Implementations§

Source§

impl LuaRailEnd

Source

pub fn alternative_in_signal_location(&self) -> RailLocation

Location of the alternative incoming signal, which goes to the right relative to the rail end movement. Not all places have alternative incoming signal spot, so when it is not available, a nil will be given instead

Source

pub fn alternative_out_signal_location(&self) -> RailLocation

Location of the alternative outgoing signal, which goes to the right relative to the rail end movement. Not all places have alternative outgoing signal spot, so when it is not available, a nil will be given instead

Source

pub fn direction(&self) -> &str

Which end of the rail this RailEnd is binding to.

Source

pub fn in_signal_location(&self) -> RailLocation

Location of an incoming signal, which goes to the left relative to the rail end movement.

Source

pub fn location(&self) -> RailLocation

Location of the rail end

Source

pub fn object_name(&self) -> &str

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Source

pub fn out_signal_location(&self) -> RailLocation

Location of an outgoing signal, which goes to the right relative to the rail end movement.

Source

pub fn rail(&self) -> LuaEntity

Rail to which this RailEnd is binding to.

Source

pub fn valid(&self) -> bool

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

Source

pub fn flip_direction(&self)

Moves to opposite end on the rail this object points to

Source

pub fn get_rail_extensions( &self, planner_item: LuaAny, ) -> Vec<RailExtensionData>

Returns all possible rail extensions from this position as defined by the planner item.

Source

pub fn make_copy(&self) -> LuaRailEnd

Creates a copy of this LuaRailEnd object.

Source

pub fn move_forward(&self, connection_direction: &str) -> bool

Moves forward by 1 rail to the specified connection direction

Source

pub fn move_natural(&self) -> bool

Moves forward by 1 rail in the natural direction. Natural direction is a move in the direction taken by the train over rail connection related to this rail end. If there are no trains, the natural direction is straight if straight connected rail exists, otherwise it is right if right connected rail exists, otherwise it is left if left connected rail exists. Natural direction is not defined if there are no rails connected to this end and this method will fail.

Source

pub fn move_to_segment_end(&self)

Moves forward until a rail segment boundary is reached. If this rail end is at the segment boundary, it will not move at all. When a rail segment is cyclical, it will reach the rail segment boundary at some arbitrary position unless the segment boundary is well defined by presence of rail signals, train stop or other rails connecting to the rails loop.

Trait Implementations§

Source§

impl Clone for LuaRailEnd

Source§

fn clone(&self) -> LuaRailEnd

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for LuaRailEnd

Source§

impl Debug for LuaRailEnd

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LuaRailEnd

Source§

fn default() -> LuaRailEnd

Returns the “default value” for a type. Read more
Source§

impl Eq for LuaRailEnd

Source§

impl From<LuaRailEnd> for LuaAny

Source§

fn from(_: LuaRailEnd) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaRailEnd

Source§

impl PartialEq for LuaRailEnd

Source§

fn eq(&self, other: &LuaRailEnd) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for LuaRailEnd

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.