#[repr(transparent)]pub struct Structure { /* private fields */ }Expand description
Parent class for all objects that represent a structure in the game world.
Implementations§
source§impl Structure
 
impl Structure
source§impl Structure
 
impl Structure
source§impl Structure
 
impl Structure
sourcepub fn structure_type(&self) -> StructureType
 
pub fn structure_type(&self) -> StructureType
The type of structure this is.
source§impl Structure
 
impl Structure
Methods from Deref<Target = RoomObject>§
sourcepub fn pos(&self) -> RoomPosition
 
pub fn pos(&self) -> RoomPosition
Position of the object.
Methods from Deref<Target = JsValue>§
pub const NULL: JsValue = JsValue::_new(JSIDX_NULL)
pub const UNDEFINED: JsValue = JsValue::_new(JSIDX_UNDEFINED)
pub const TRUE: JsValue = JsValue::_new(JSIDX_TRUE)
pub const FALSE: JsValue = JsValue::_new(JSIDX_FALSE)
sourcepub fn as_f64(&self) -> Option<f64>
 
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.
sourcepub fn as_string(&self) -> Option<String>
 Available on crate feature std only.
pub fn as_string(&self) -> Option<String>
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.
sourcepub fn as_bool(&self) -> Option<bool>
 
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.
sourcepub fn is_undefined(&self) -> bool
 
pub fn is_undefined(&self) -> bool
Tests whether this JS value is undefined
sourcepub fn is_function(&self) -> bool
 
pub fn is_function(&self) -> bool
Tests whether the type of this JS value is function.
sourcepub fn js_in(&self, obj: &JsValue) -> bool
 
pub fn js_in(&self, obj: &JsValue) -> bool
Applies the binary in JS operator on the two JsValues.
sourcepub fn loose_eq(&self, other: &JsValue) -> bool
 
pub fn loose_eq(&self, other: &JsValue) -> bool
Compare two JsValues for equality, using the == operator in JS.
sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
 
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Applies the binary >>> JS operator on the two JsValues.
sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
 
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
sourcepub fn pow(&self, rhs: &JsValue) -> JsValue
 
pub fn pow(&self, rhs: &JsValue) -> JsValue
Applies the binary ** JS operator on the two JsValues.
sourcepub fn lt(&self, other: &JsValue) -> bool
 
pub fn lt(&self, other: &JsValue) -> bool
Applies the binary < JS operator on the two JsValues.
sourcepub fn le(&self, other: &JsValue) -> bool
 
pub fn le(&self, other: &JsValue) -> bool
Applies the binary <= JS operator on the two JsValues.
sourcepub fn ge(&self, other: &JsValue) -> bool
 
pub fn ge(&self, other: &JsValue) -> bool
Applies the binary >= JS operator on the two JsValues.
sourcepub fn gt(&self, other: &JsValue) -> bool
 
pub fn gt(&self, other: &JsValue) -> bool
Applies the binary > JS operator on the two JsValues.
sourcepub fn unchecked_into_f64(&self) -> f64
 
pub fn unchecked_into_f64(&self) -> f64
Applies the unary + JS operator on a JsValue. Can throw.
Trait Implementations§
source§impl AsRef<RoomObject> for Structure
 
impl AsRef<RoomObject> for Structure
source§fn as_ref(&self) -> &RoomObject
 
fn as_ref(&self) -> &RoomObject
source§impl AsRef<Structure> for OwnedStructure
 
impl AsRef<Structure> for OwnedStructure
source§impl AsRef<Structure> for StructureContainer
 
impl AsRef<Structure> for StructureContainer
source§impl AsRef<Structure> for StructureController
 
impl AsRef<Structure> for StructureController
source§impl AsRef<Structure> for StructureExtension
 
impl AsRef<Structure> for StructureExtension
source§impl AsRef<Structure> for StructureExtractor
 
impl AsRef<Structure> for StructureExtractor
source§impl AsRef<Structure> for StructureFactory
 
impl AsRef<Structure> for StructureFactory
source§impl AsRef<Structure> for StructureInvaderCore
 
impl AsRef<Structure> for StructureInvaderCore
source§impl AsRef<Structure> for StructureKeeperLair
 
impl AsRef<Structure> for StructureKeeperLair
source§impl AsRef<Structure> for StructureLab
 
impl AsRef<Structure> for StructureLab
source§impl AsRef<Structure> for StructureLink
 
impl AsRef<Structure> for StructureLink
source§impl AsRef<Structure> for StructureNuker
 
impl AsRef<Structure> for StructureNuker
source§impl AsRef<Structure> for StructureObserver
 
impl AsRef<Structure> for StructureObserver
source§impl AsRef<Structure> for StructurePortal
 
impl AsRef<Structure> for StructurePortal
source§impl AsRef<Structure> for StructurePowerBank
 
impl AsRef<Structure> for StructurePowerBank
source§impl AsRef<Structure> for StructurePowerSpawn
 
impl AsRef<Structure> for StructurePowerSpawn
source§impl AsRef<Structure> for StructureRampart
 
impl AsRef<Structure> for StructureRampart
source§impl AsRef<Structure> for StructureRoad
 
impl AsRef<Structure> for StructureRoad
source§impl AsRef<Structure> for StructureSpawn
 
impl AsRef<Structure> for StructureSpawn
source§impl AsRef<Structure> for StructureStorage
 
impl AsRef<Structure> for StructureStorage
source§impl AsRef<Structure> for StructureTerminal
 
impl AsRef<Structure> for StructureTerminal
source§impl AsRef<Structure> for StructureTower
 
impl AsRef<Structure> for StructureTower
source§impl AsRef<Structure> for StructureWall
 
impl AsRef<Structure> for StructureWall
source§impl Deref for Structure
 
impl Deref for Structure
§type Target = RoomObject
 
type Target = RoomObject
source§fn deref(&self) -> &RoomObject
 
fn deref(&self) -> &RoomObject
source§impl From<OwnedStructure> for Structure
 
impl From<OwnedStructure> for Structure
source§fn from(obj: OwnedStructure) -> Structure
 
fn from(obj: OwnedStructure) -> Structure
source§impl From<Structure> for RoomObject
 
impl From<Structure> for RoomObject
source§fn from(obj: Structure) -> RoomObject
 
fn from(obj: Structure) -> RoomObject
source§impl From<Structure> for StructureObject
 
impl From<Structure> for StructureObject
source§impl From<StructureContainer> for Structure
 
impl From<StructureContainer> for Structure
source§fn from(obj: StructureContainer) -> Structure
 
fn from(obj: StructureContainer) -> Structure
source§impl From<StructureController> for Structure
 
impl From<StructureController> for Structure
source§fn from(obj: StructureController) -> Structure
 
fn from(obj: StructureController) -> Structure
source§impl From<StructureExtension> for Structure
 
impl From<StructureExtension> for Structure
source§fn from(obj: StructureExtension) -> Structure
 
fn from(obj: StructureExtension) -> Structure
source§impl From<StructureExtractor> for Structure
 
impl From<StructureExtractor> for Structure
source§fn from(obj: StructureExtractor) -> Structure
 
fn from(obj: StructureExtractor) -> Structure
source§impl From<StructureFactory> for Structure
 
impl From<StructureFactory> for Structure
source§fn from(obj: StructureFactory) -> Structure
 
fn from(obj: StructureFactory) -> Structure
source§impl From<StructureInvaderCore> for Structure
 
impl From<StructureInvaderCore> for Structure
source§fn from(obj: StructureInvaderCore) -> Structure
 
fn from(obj: StructureInvaderCore) -> Structure
source§impl From<StructureKeeperLair> for Structure
 
impl From<StructureKeeperLair> for Structure
source§fn from(obj: StructureKeeperLair) -> Structure
 
fn from(obj: StructureKeeperLair) -> Structure
source§impl From<StructureLab> for Structure
 
impl From<StructureLab> for Structure
source§fn from(obj: StructureLab) -> Structure
 
fn from(obj: StructureLab) -> Structure
source§impl From<StructureLink> for Structure
 
impl From<StructureLink> for Structure
source§fn from(obj: StructureLink) -> Structure
 
fn from(obj: StructureLink) -> Structure
source§impl From<StructureNuker> for Structure
 
impl From<StructureNuker> for Structure
source§fn from(obj: StructureNuker) -> Structure
 
fn from(obj: StructureNuker) -> Structure
source§impl From<StructureObserver> for Structure
 
impl From<StructureObserver> for Structure
source§fn from(obj: StructureObserver) -> Structure
 
fn from(obj: StructureObserver) -> Structure
source§impl From<StructurePortal> for Structure
 
impl From<StructurePortal> for Structure
source§fn from(obj: StructurePortal) -> Structure
 
fn from(obj: StructurePortal) -> Structure
source§impl From<StructurePowerBank> for Structure
 
impl From<StructurePowerBank> for Structure
source§fn from(obj: StructurePowerBank) -> Structure
 
fn from(obj: StructurePowerBank) -> Structure
source§impl From<StructurePowerSpawn> for Structure
 
impl From<StructurePowerSpawn> for Structure
source§fn from(obj: StructurePowerSpawn) -> Structure
 
fn from(obj: StructurePowerSpawn) -> Structure
source§impl From<StructureRampart> for Structure
 
impl From<StructureRampart> for Structure
source§fn from(obj: StructureRampart) -> Structure
 
fn from(obj: StructureRampart) -> Structure
source§impl From<StructureRoad> for Structure
 
impl From<StructureRoad> for Structure
source§fn from(obj: StructureRoad) -> Structure
 
fn from(obj: StructureRoad) -> Structure
source§impl From<StructureSpawn> for Structure
 
impl From<StructureSpawn> for Structure
source§fn from(obj: StructureSpawn) -> Structure
 
fn from(obj: StructureSpawn) -> Structure
source§impl From<StructureStorage> for Structure
 
impl From<StructureStorage> for Structure
source§fn from(obj: StructureStorage) -> Structure
 
fn from(obj: StructureStorage) -> Structure
source§impl From<StructureTerminal> for Structure
 
impl From<StructureTerminal> for Structure
source§fn from(obj: StructureTerminal) -> Structure
 
fn from(obj: StructureTerminal) -> Structure
source§impl From<StructureTower> for Structure
 
impl From<StructureTower> for Structure
source§fn from(obj: StructureTower) -> Structure
 
fn from(obj: StructureTower) -> Structure
source§impl From<StructureWall> for Structure
 
impl From<StructureWall> for Structure
source§fn from(obj: StructureWall) -> Structure
 
fn from(obj: StructureWall) -> Structure
source§impl FromWasmAbi for Structure
 
impl FromWasmAbi for Structure
source§impl<'a> IntoWasmAbi for &'a Structure
 
impl<'a> IntoWasmAbi for &'a Structure
source§impl IntoWasmAbi for Structure
 
impl IntoWasmAbi for Structure
source§impl JsCast for Structure
 
impl JsCast for Structure
source§fn instanceof(val: &JsValue) -> bool
 
fn instanceof(val: &JsValue) -> bool
instanceof check to see whether the JsValue
provided is an instance of this type. Read moresource§fn unchecked_from_js(val: JsValue) -> Self
 
fn unchecked_from_js(val: JsValue) -> Self
source§fn unchecked_from_js_ref(val: &JsValue) -> &Self
 
fn unchecked_from_js_ref(val: &JsValue) -> &Self
source§fn has_type<T>(&self) -> boolwhere
    T: JsCast,
 
fn has_type<T>(&self) -> boolwhere T: JsCast,
T. Read moresource§fn dyn_into<T>(self) -> Result<T, Self>where
    T: JsCast,
 
fn dyn_into<T>(self) -> Result<T, Self>where T: JsCast,
T. Read moresource§fn dyn_ref<T>(&self) -> Option<&T>where
    T: JsCast,
 
fn dyn_ref<T>(&self) -> Option<&T>where T: JsCast,
T. Read moresource§fn unchecked_into<T>(self) -> Twhere
    T: JsCast,
 
fn unchecked_into<T>(self) -> Twhere T: JsCast,
source§fn unchecked_ref<T>(&self) -> &Twhere
    T: JsCast,
 
fn unchecked_ref<T>(&self) -> &Twhere T: JsCast,
source§impl LongRefFromWasmAbi for Structure
 
impl LongRefFromWasmAbi for Structure
source§impl OptionFromWasmAbi for Structure
 
impl OptionFromWasmAbi for Structure
source§impl<'a> OptionIntoWasmAbi for &'a Structure
 
impl<'a> OptionIntoWasmAbi for &'a Structure
source§impl OptionIntoWasmAbi for Structure
 
impl OptionIntoWasmAbi for Structure
source§impl RefFromWasmAbi for Structure
 
impl RefFromWasmAbi for Structure
§type Abi = <JsValue as RefFromWasmAbi>::Abi
 
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self are recovered from.§type Anchor = ManuallyDrop<Structure>
 
type Anchor = ManuallyDrop<Structure>
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.Auto Trait Implementations§
impl RefUnwindSafe for Structure
impl !Send for Structure
impl !Sync for Structure
impl Unpin for Structure
impl UnwindSafe for Structure
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
source§impl<T> HasId for Twhere
    T: HasNativeId,
 
impl<T> HasId for Twhere T: HasNativeId,
source§fn raw_id(&self) -> RawObjectId
 
fn raw_id(&self) -> RawObjectId
source§impl<T> HasPosition for Twhere
    T: AsRef<RoomObject>,
 
impl<T> HasPosition for Twhere T: AsRef<RoomObject>,
source§impl<T> HasTypedId<T> for Twhere
    T: HasId + HasNativeId,
 
impl<T> HasTypedId<T> for Twhere T: HasId + HasNativeId,
source§impl<T> MaybeHasId for Twhere
    T: MaybeHasNativeId,
 
impl<T> MaybeHasId for Twhere T: MaybeHasNativeId,
source§fn try_raw_id(&self) -> Option<RawObjectId>
 
fn try_raw_id(&self) -> Option<RawObjectId>
None if the
object doesn’t currently have an id.source§impl<T> MaybeHasNativeId for Twhere
    T: HasNativeId,
 
impl<T> MaybeHasNativeId for Twhere T: HasNativeId,
fn try_native_id(&self) -> Option<JsString>
source§impl<T> MaybeHasTypedId<T> for Twhere
    T: MaybeHasId,
 
impl<T> MaybeHasTypedId<T> for Twhere T: MaybeHasId,
source§impl<T> ReturnWasmAbi for Twhere
    T: IntoWasmAbi,
 
impl<T> ReturnWasmAbi for Twhere T: IntoWasmAbi,
§type Abi = <T as IntoWasmAbi>::Abi
 
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::Abisource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
 
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.