pub struct StructureSpawn { /* private fields */ }
Expand description

An object representing a StructureSpawn, which creates your creeps.

Screeps documentation

Implementations§

source§

impl StructureSpawn

source

pub fn memory(&self) -> JsValue

A shortcut to Memory.spawns[spawn.name].

Screeps documentation

source§

impl StructureSpawn

source

pub fn set_memory(&self, val: &JsValue)

Sets a new value to Memory.spawns[spawn.name].

Screeps documentation

source§

impl StructureSpawn

source

pub fn name(&self) -> JsString

The spawn’s name as an owned reference to a JsString.

Screeps documentation

source§

impl StructureSpawn

source

pub fn spawning(&self) -> Option<Spawning>

Information about the spawning creep, if one is currently being spawned.

Screeps documentation

source§

impl StructureSpawn

source

pub fn store(&self) -> Store

The Store of the spawn, which contains information about what resources it is it holding.

Screeps documentation

source§

impl StructureSpawn

source

pub fn spawn_creep(&self, body: &[Part], name: &str) -> Result<(), ErrorCode>

Create a new creep with the specified body part Array, name JsString, and optional spawning options. Note that successfully spawning will store data in Memory.creeps[creep_name] regardless of whether any memory data was passed in the options object and enable the default serialization behavior of the Memory object, which may hamper attempts to directly use RawMemory. todo, add note+docs about how to replace Memory and/or delete RawMemory._parsed

Screeps documentation

source

pub fn spawn_creep_with_options( &self, body: &[Part], name: &str, opts: &SpawnOptions ) -> Result<(), ErrorCode>

Create a new creep with the specified body part Array, name JsString, and optional spawning options. Note that successfully spawning will store data in Memory.creeps[creep_name] regardless of whether any memory data was passed in the options object and enable the default serialization behavior of the Memory object, which may hamper attempts to directly use RawMemory. todo, add note+docs about how to replace Memory and/or delete RawMemory._parsed

Screeps documentation

source

pub fn recycle_creep(&self, creep: &Creep) -> Result<(), ErrorCode>

Kill a Creep in melee range, returning 100% of its TTL-adjusted resources (5x more than if the creep is killed another way). Can be used while spawning.

Screeps documentation

source

pub fn renew_creep(&self, creep: &Creep) -> Result<(), ErrorCode>

Renew a Creep in melee range, removing all boosts adding to its TTL. Cannot be used while spawning.

Screeps documentation

Methods from Deref<Target = RoomObject>§

source

pub fn js_pos(&self) -> RoomPosition

Gets the RoomPosition of an object, which is a reference to an object in the javascript heap. In most cases, you’ll likely want a native Position instead of using this function (see HasPosition::pos), there may be cases where this can provide some slight performance benefits due to reducing object churn in the js heap, so this is kept public.

Screeps documentation

source

pub fn room(&self) -> Option<Room>

A link to the room that the object is currently in, or None if the object is a power creep not spawned on the current shard, or a flag or construction site not in a visible room.

Screeps documentation

Methods from Deref<Target = JsValue>§

source

pub const NULL: JsValue = _

source

pub const UNDEFINED: JsValue = _

source

pub const TRUE: JsValue = _

source

pub const FALSE: JsValue = _

source

pub fn as_f64(&self) -> Option<f64>

Returns the f64 value of this JS value if it’s an instance of a number.

If this JS value is not an instance of a number then this returns None.

source

pub fn is_string(&self) -> bool

Tests whether this JS value is a JS string.

source

pub fn as_string(&self) -> Option<String>

Available on crate feature std only.

If this JS value is a string value, this function copies the JS string value into wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it’s not valid utf-8 then this returns None.

UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

source

pub fn as_bool(&self) -> Option<bool>

Returns the bool value of this JS value if it’s an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

source

pub fn is_null(&self) -> bool

Tests whether this JS value is null

source

pub fn is_undefined(&self) -> bool

Tests whether this JS value is undefined

source

pub fn is_symbol(&self) -> bool

Tests whether the type of this JS value is symbol

source

pub fn is_object(&self) -> bool

Tests whether typeof self == "object" && self !== null.

source

pub fn is_array(&self) -> bool

Tests whether this JS value is an instance of Array.

source

pub fn is_function(&self) -> bool

Tests whether the type of this JS value is function.

source

pub fn is_bigint(&self) -> bool

Tests whether the type of this JS value is bigint.

source

pub fn js_typeof(&self) -> JsValue

Applies the unary typeof JS operator on a JsValue.

MDN documentation

source

pub fn js_in(&self, obj: &JsValue) -> bool

Applies the binary in JS operator on the two JsValues.

MDN documentation

source

pub fn is_truthy(&self) -> bool

Tests whether the value is “truthy”.

source

pub fn is_falsy(&self) -> bool

Tests whether the value is “falsy”.

source

pub fn loose_eq(&self, other: &JsValue) -> bool

Compare two JsValues for equality, using the == operator in JS.

MDN documentation

source

pub fn bit_not(&self) -> JsValue

Applies the unary ~ JS operator on a JsValue.

MDN documentation

source

pub fn unsigned_shr(&self, rhs: &JsValue) -> u32

Applies the binary >>> JS operator on the two JsValues.

MDN documentation

source

pub fn checked_div(&self, rhs: &JsValue) -> JsValue

Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.

MDN documentation

source

pub fn pow(&self, rhs: &JsValue) -> JsValue

Applies the binary ** JS operator on the two JsValues.

MDN documentation

source

pub fn lt(&self, other: &JsValue) -> bool

Applies the binary < JS operator on the two JsValues.

MDN documentation

source

pub fn le(&self, other: &JsValue) -> bool

Applies the binary <= JS operator on the two JsValues.

MDN documentation

source

pub fn ge(&self, other: &JsValue) -> bool

Applies the binary >= JS operator on the two JsValues.

MDN documentation

source

pub fn gt(&self, other: &JsValue) -> bool

Applies the binary > JS operator on the two JsValues.

MDN documentation

source

pub fn unchecked_into_f64(&self) -> f64

Applies the unary + JS operator on a JsValue. Can throw.

MDN documentation

Trait Implementations§

source§

impl AsRef<JsValue> for StructureSpawn

source§

fn as_ref(&self) -> &JsValue

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<OwnedStructure> for StructureSpawn

source§

fn as_ref(&self) -> &OwnedStructure

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<RoomObject> for StructureSpawn

source§

fn as_ref(&self) -> &RoomObject

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Structure> for StructureSpawn

source§

fn as_ref(&self) -> &Structure

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<StructureSpawn> for StructureSpawn

source§

fn as_ref(&self) -> &StructureSpawn

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for StructureSpawn

source§

fn clone(&self) -> StructureSpawn

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for StructureSpawn

source§

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

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

impl Deref for StructureSpawn

§

type Target = RoomObject

The resulting type after dereferencing.
source§

fn deref(&self) -> &RoomObject

Dereferences the value.
source§

impl From<JsValue> for StructureSpawn

source§

fn from(obj: JsValue) -> StructureSpawn

Converts to this type from the input type.
source§

impl From<StructureSpawn> for JsValue

source§

fn from(obj: StructureSpawn) -> JsValue

Converts to this type from the input type.
source§

impl From<StructureSpawn> for ObjectWithPosition

source§

fn from(v: StructureSpawn) -> ObjectWithPosition

Converts to this type from the input type.
source§

impl From<StructureSpawn> for OwnedStructure

source§

fn from(obj: StructureSpawn) -> OwnedStructure

Converts to this type from the input type.
source§

impl From<StructureSpawn> for OwnedStructureObject

source§

fn from(v: StructureSpawn) -> OwnedStructureObject

Converts to this type from the input type.
source§

impl From<StructureSpawn> for RoomObject

source§

fn from(obj: StructureSpawn) -> RoomObject

Converts to this type from the input type.
source§

impl From<StructureSpawn> for StoreObject

source§

fn from(v: StructureSpawn) -> StoreObject

Converts to this type from the input type.
source§

impl From<StructureSpawn> for Structure

source§

fn from(obj: StructureSpawn) -> Structure

Converts to this type from the input type.
source§

impl From<StructureSpawn> for StructureObject

source§

fn from(v: StructureSpawn) -> StructureObject

Converts to this type from the input type.
source§

impl From<StructureSpawn> for TransferableObject

source§

fn from(v: StructureSpawn) -> TransferableObject

Converts to this type from the input type.
source§

impl From<StructureSpawn> for TypedRoomObject

source§

fn from(v: StructureSpawn) -> TypedRoomObject

Converts to this type from the input type.
source§

impl FromWasmAbi for StructureSpawn

§

type Abi = <JsValue as FromWasmAbi>::Abi

The wasm ABI type that this converts from when coming back out from the ABI boundary.
source§

unsafe fn from_abi(js: Self::Abi) -> Self

Recover a Self from Self::Abi. Read more
source§

impl HasStore for StructureSpawn

source§

fn store(&self) -> Store

The store of the object, containing information about the resources it is holding.
source§

impl<'a> IntoWasmAbi for &'a StructureSpawn

§

type Abi = <&'a JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary.
source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
source§

impl IntoWasmAbi for StructureSpawn

§

type Abi = <JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary.
source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
source§

impl JsCast for StructureSpawn

source§

fn instanceof(val: &JsValue) -> bool

Performs a dynamic instanceof check to see whether the JsValue provided is an instance of this type. Read more
source§

fn unchecked_from_js(val: JsValue) -> Self

Performs a zero-cost unchecked conversion from a JsValue into an instance of Self Read more
source§

fn unchecked_from_js_ref(val: &JsValue) -> &Self

Performs a zero-cost unchecked conversion from a &JsValue into an instance of &Self. Read more
source§

fn has_type<T>(&self) -> bool
where T: JsCast,

Test whether this JS value has a type T. Read more
source§

fn dyn_into<T>(self) -> Result<T, Self>
where T: JsCast,

Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more
source§

fn dyn_ref<T>(&self) -> Option<&T>
where T: JsCast,

Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more
source§

fn unchecked_into<T>(self) -> T
where T: JsCast,

Performs a zero-cost unchecked cast into the specified type. Read more
source§

fn unchecked_ref<T>(&self) -> &T
where T: JsCast,

Performs a zero-cost unchecked cast into a reference to the specified type. Read more
source§

fn is_instance_of<T>(&self) -> bool
where T: JsCast,

Test whether this JS value is an instance of the type T. Read more
source§

fn is_type_of(val: &JsValue) -> bool

Performs a dynamic check to see whether the JsValue provided is a value of this type. Read more
source§

impl JsCollectionFromValue for StructureSpawn

source§

fn from_value(val: JsValue) -> Self

source§

impl LongRefFromWasmAbi for StructureSpawn

§

type Abi = <JsValue as LongRefFromWasmAbi>::Abi

Same as RefFromWasmAbi::Abi
§

type Anchor = StructureSpawn

Same as RefFromWasmAbi::Anchor
source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
source§

impl OptionFromWasmAbi for StructureSpawn

source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
source§

impl<'a> OptionIntoWasmAbi for &'a StructureSpawn

source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
source§

impl OptionIntoWasmAbi for StructureSpawn

source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
source§

impl RefFromWasmAbi for StructureSpawn

§

type Abi = <JsValue as RefFromWasmAbi>::Abi

The wasm ABI type references to Self are recovered from.
§

type Anchor = ManuallyDrop<StructureSpawn>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
source§

impl TryInto<StructureSpawn> for ObjectWithPosition

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl TryInto<StructureSpawn> for OwnedStructureObject

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl TryInto<StructureSpawn> for StoreObject

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl TryInto<StructureSpawn> for StructureObject

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl TryInto<StructureSpawn> for TransferableObject

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl TryInto<StructureSpawn> for TypedRoomObject

§

type Error = &'static str

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

fn try_into( self ) -> Result<StructureSpawn, <Self as TryInto<StructureSpawn>>::Error>

Performs the conversion.
source§

impl WasmDescribe for StructureSpawn

source§

impl Attackable for StructureSpawn

source§

impl Dismantleable for StructureSpawn

source§

impl Repairable for StructureSpawn

source§

impl Transferable for StructureSpawn

source§

impl Withdrawable for StructureSpawn

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> HasHits for T
where T: AsRef<Structure>,

source§

fn hits(&self) -> u32

Retrieve the current hits of this object.
source§

fn hits_max(&self) -> u32

Retrieve the maximum hits of this object.
source§

impl<T> HasId for T
where T: AsRef<Structure> + JsCast,

source§

fn js_raw_id(&self) -> JsString

Object ID of the object stored in JavaScript memory, without its associated type information.
source§

fn id(&self) -> ObjectId<Self>
where Self: Sized,

Object ID of the object stored in Rust memory, which can be used to efficiently fetch a fresh reference to the object on subsequent ticks.
source§

fn raw_id(&self) -> RawObjectId

Object ID of the object stored in Rust memory, without its associated type information.
source§

fn js_id(&self) -> JsObjectId<Self>
where Self: Sized,

Object ID of the object stored in JavaScript memory, which can be used to efficiently fetch a fresh reference to the object on subsequent ticks.
source§

impl<T> HasPosition for T
where T: AsRef<RoomObject>,

source§

fn pos(&self) -> Position

Position of the object.
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> MaybeHasId for T
where T: HasId,

source§

fn try_js_raw_id(&self) -> Option<JsString>

Object ID of the object stored in JavaScript memory, without its associated type information, or None if the object doesn’t currently have an ID.
source§

fn try_id(&self) -> Option<ObjectId<Self>>
where Self: Sized,

Object ID of the object, which can be used to efficiently fetch a fresh reference to the object on subsequent ticks, or None if the object doesn’t currently have an ID.
source§

fn try_raw_id(&self) -> Option<RawObjectId>

Object ID of the object, without its associated type information, or None if the object doesn’t currently have an ID.
source§

fn try_js_id(&self) -> Option<JsObjectId<Self>>
where Self: Sized,

Object ID of the object stored in JavaScript memory, which can be used to efficiently fetch a fresh reference to the object on subsequent ticks, or None if the object doesn’t currently have an ID.
source§

impl<T> OwnedStructureProperties for T

source§

fn my(&self) -> bool

Whether this structure is owned by the player. Read more
source§

fn owner(&self) -> Option<Owner>

The Owner of this structure that contains the owner’s username, or None if it’s an ownable structure currently not under a player’s control. Read more
source§

impl<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
source§

impl<T> RoomObjectProperties for T
where T: AsRef<RoomObject>,

source§

fn effects(&self) -> Vec<Effect>

Effects applied to the object. Read more
source§

fn effects_raw(&self) -> Option<Array>

Effects applied to the object. Read more
source§

fn room(&self) -> Option<Room>

A link to the room that the object is currently in, or None if the object is a power creep not spawned on the current shard, or a flag or construction site not in a visible room. Read more
source§

impl<T> StructureProperties for T
where T: AsRef<Structure>,

source§

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

§

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>,

§

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>,

§

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.
source§

impl<T> VectorFromWasmAbi for T
where T: JsObject,

source§

impl<T> VectorIntoWasmAbi for T
where T: JsObject,