Skip to main content

LuaSegment

Struct LuaSegment 

Source
pub struct LuaSegment;
Expand description

An individual segment of a LuaSegmentedUnit. If the segment exists in a generated chunk, you can access the entity representation using LuaSegment::entity.

Implementations§

Source§

impl LuaSegment

Source

pub fn entity(&self) -> LuaEntity

The actual entity representation of the segment if it exists. A segment’s entity will be automatically destroyed if the segment moves into chunks that have not yet been fully generated or onto “out-of-map” tiles. Conversely, if a segment moves into a chunk that is fully generated and onto a non-“out-of-map” tile, then its entity will be created if it doesn’t exist yet.

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 orientation(&self) -> LuaAny

The relative orientation of the segment if one has been assigned. An orientation may not be assigned if the unit’s number of body nodes is fewer than LuaSegmentedUnit::max_body_nodes.

If LuaSegment::entity is non-nil, this returns that entity’s LuaEntity::orientation. If the entity is nil, then reading this field calculates the entity’s would-be position if it existed. This can be expensive to compute, so avoid reading this field too often unless it is really necessary.

Source

pub fn position(&self) -> MapPosition

The position of the segment if one has been assigned. A position may not be assigned if the unit’s number of body nodes is fewer than LuaSegmentedUnit::max_body_nodes.

This position may be in an un-generated chunk. Use LuaSurface::is_chunk_generated to check before attempting to access the chunk.

If LuaSegment::entity is non-nil, this returns that entity’s LuaEntity::position. If the entity is nil, then reading this field calculates the entity’s would-be position if it existed. This can be expensive to compute, so avoid reading this field too often unless it is really necessary.

Source

pub fn prototype(&self) -> LuaEntityPrototype

The prototype for the entity representation of the segment.

Source

pub fn unit(&self) -> LuaSegmentedUnit

The segmented unit that owns the segment.

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.

Trait Implementations§

Source§

impl Clone for LuaSegment

Source§

fn clone(&self) -> LuaSegment

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 LuaSegment

Source§

impl Debug for LuaSegment

Source§

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

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

impl Default for LuaSegment

Source§

fn default() -> LuaSegment

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

impl Eq for LuaSegment

Source§

impl From<LuaSegment> for LuaAny

Source§

fn from(_: LuaSegment) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaSegment

Source§

impl PartialEq for LuaSegment

Source§

fn eq(&self, other: &LuaSegment) -> 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 LuaSegment

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.