Skip to main content

LuaCommandable

Struct LuaCommandable 

Source
pub struct LuaCommandable;
Expand description

AI object which can be ordered commands. This can represent a UnitGroup (a set of multiple commandables) or can be a single Unit or SpiderUnit.

Implementations§

Source§

impl LuaCommandable

Source

pub fn command(&self) -> Command

The command of this commandable, if any.

Source

pub fn commandable_members(&self) -> Vec<LuaCommandable>

Non recursively returns all members of this unit group.

Source

pub fn distraction_command(&self) -> Command

The distraction command of this commandable, if any.

Source

pub fn entity(&self) -> LuaEntity

Returns entity object for this commandable.

Source

pub fn force(&self) -> LuaForce

The force of this commandable.

Source

pub fn has_command(&self) -> bool

If this commandable has a command assigned.

Source

pub fn is_entity(&self) -> bool

If this commandable is Entity.

Source

pub fn is_script_driven(&self) -> bool

Whether this unit group is controlled by a script or by the game engine. This can be changed using LuaCommandable::set_autonomous. Units created by LuaSurface::create_unit_group are considered script-driven.

Source

pub fn is_unit_group(&self) -> bool

If this commandable is UnitGroup.

Source

pub fn members(&self) -> Vec<LuaEntity>

All entity members of this unit group, recursive (if unit group is member of this unit group, its members will be returned here).

Source

pub fn moving_state(&self) -> &str

Current moving state of the commandable’s behavior

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 parent_group(&self) -> LuaCommandable

The unit group this commandable is a member of, if any.

Source

pub fn position(&self) -> MapPosition

Current position of this commandable.

If commandable is a UnitGroup, this can have different meanings depending on the group state. When the group is gathering, the position is the place of gathering. When the group is moving, the position is the expected position of its members along the path. When the group is attacking, it is the average position of its members.

Source

pub fn spawner(&self) -> LuaEntity

The spawner associated with this commandable, if any.

Source

pub fn state(&self) -> &str

Whether this group is gathering, moving or attacking.

Source

pub fn surface(&self) -> LuaSurface

Surface this commandable is on.

Source

pub fn unique_id(&self) -> u32

Unique identifier of this commandable.

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 add_member(&self, member: LuaAny)

Adds a member to this UnitGroup. Has the same effect as setting defines.command.group command on the member to join the group.

The member must have the same force be on the same surface as the group.

Source

pub fn destroy(&self)

Destroys this commandable. If it is a unit group, members will not be destroyed, they will be merely unlinked from the group.

Source

pub fn release_from_spawner(&self)

Release the commandable from the spawner. This allows the spawner to continue spawning additional units.

Source

pub fn set_autonomous(&self)

Make this group autonomous. Autonomous groups will automatically attack polluted areas. Autonomous groups aren’t considered to be script-driven.

Source

pub fn set_command(&self, command: Command)

Give this commandable a command.

Source

pub fn set_distraction_command(&self, command: Command)

Give this commandable a distraction command.

Source

pub fn start_moving(&self)

Make the group start moving even if some of its members haven’t yet arrived.

Trait Implementations§

Source§

impl Clone for LuaCommandable

Source§

fn clone(&self) -> LuaCommandable

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 LuaCommandable

Source§

impl Debug for LuaCommandable

Source§

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

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

impl Default for LuaCommandable

Source§

fn default() -> LuaCommandable

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

impl Eq for LuaCommandable

Source§

impl From<LuaCommandable> for LuaAny

Source§

fn from(_: LuaCommandable) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaCommandable

Source§

impl PartialEq for LuaCommandable

Source§

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

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.