Struct screeps::objects::OwnedStructure
source · pub struct OwnedStructure { /* private fields */ }
Expand description
Parent class for all Structure
objects types which are (or can be)
owned by a specific player.
Implementations§
Methods from Deref<Target = RoomObject>§
sourcepub fn js_pos(&self) -> RoomPosition
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.
Methods from Deref<Target = JsValue>§
pub const NULL: JsValue = _
pub const UNDEFINED: JsValue = _
pub const TRUE: JsValue = _
pub const FALSE: JsValue = _
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 JsValue
s.
sourcepub fn loose_eq(&self, other: &JsValue) -> bool
pub fn loose_eq(&self, other: &JsValue) -> bool
Compare two JsValue
s 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 JsValue
s.
sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Applies the binary /
JS operator on two JsValue
s, 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 JsValue
s.
sourcepub fn lt(&self, other: &JsValue) -> bool
pub fn lt(&self, other: &JsValue) -> bool
Applies the binary <
JS operator on the two JsValue
s.
sourcepub fn le(&self, other: &JsValue) -> bool
pub fn le(&self, other: &JsValue) -> bool
Applies the binary <=
JS operator on the two JsValue
s.
sourcepub fn ge(&self, other: &JsValue) -> bool
pub fn ge(&self, other: &JsValue) -> bool
Applies the binary >=
JS operator on the two JsValue
s.
sourcepub fn gt(&self, other: &JsValue) -> bool
pub fn gt(&self, other: &JsValue) -> bool
Applies the binary >
JS operator on the two JsValue
s.
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<JsValue> for OwnedStructure
impl AsRef<JsValue> for OwnedStructure
source§impl AsRef<OwnedStructure> for OwnedStructure
impl AsRef<OwnedStructure> for OwnedStructure
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureController
impl AsRef<OwnedStructure> for StructureController
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureExtension
impl AsRef<OwnedStructure> for StructureExtension
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureExtractor
impl AsRef<OwnedStructure> for StructureExtractor
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureFactory
impl AsRef<OwnedStructure> for StructureFactory
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureInvaderCore
impl AsRef<OwnedStructure> for StructureInvaderCore
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureKeeperLair
impl AsRef<OwnedStructure> for StructureKeeperLair
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureLab
impl AsRef<OwnedStructure> for StructureLab
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureLink
impl AsRef<OwnedStructure> for StructureLink
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureNuker
impl AsRef<OwnedStructure> for StructureNuker
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureObserver
impl AsRef<OwnedStructure> for StructureObserver
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructurePowerSpawn
impl AsRef<OwnedStructure> for StructurePowerSpawn
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureRampart
impl AsRef<OwnedStructure> for StructureRampart
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureSpawn
impl AsRef<OwnedStructure> for StructureSpawn
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureStorage
impl AsRef<OwnedStructure> for StructureStorage
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureTerminal
impl AsRef<OwnedStructure> for StructureTerminal
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<OwnedStructure> for StructureTower
impl AsRef<OwnedStructure> for StructureTower
source§fn as_ref(&self) -> &OwnedStructure
fn as_ref(&self) -> &OwnedStructure
source§impl AsRef<RoomObject> for OwnedStructure
impl AsRef<RoomObject> for OwnedStructure
source§fn as_ref(&self) -> &RoomObject
fn as_ref(&self) -> &RoomObject
source§impl AsRef<Structure> for OwnedStructure
impl AsRef<Structure> for OwnedStructure
source§impl Clone for OwnedStructure
impl Clone for OwnedStructure
source§fn clone(&self) -> OwnedStructure
fn clone(&self) -> OwnedStructure
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for OwnedStructure
impl Debug for OwnedStructure
source§impl Deref for OwnedStructure
impl Deref for OwnedStructure
§type Target = RoomObject
type Target = RoomObject
source§fn deref(&self) -> &RoomObject
fn deref(&self) -> &RoomObject
source§impl From<JsValue> for OwnedStructure
impl From<JsValue> for OwnedStructure
source§fn from(obj: JsValue) -> OwnedStructure
fn from(obj: JsValue) -> OwnedStructure
source§impl From<OwnedStructure> for JsValue
impl From<OwnedStructure> for JsValue
source§fn from(obj: OwnedStructure) -> JsValue
fn from(obj: OwnedStructure) -> JsValue
source§impl From<OwnedStructure> for RoomObject
impl From<OwnedStructure> for RoomObject
source§fn from(obj: OwnedStructure) -> RoomObject
fn from(obj: OwnedStructure) -> 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<StructureController> for OwnedStructure
impl From<StructureController> for OwnedStructure
source§fn from(obj: StructureController) -> OwnedStructure
fn from(obj: StructureController) -> OwnedStructure
source§impl From<StructureExtension> for OwnedStructure
impl From<StructureExtension> for OwnedStructure
source§fn from(obj: StructureExtension) -> OwnedStructure
fn from(obj: StructureExtension) -> OwnedStructure
source§impl From<StructureExtractor> for OwnedStructure
impl From<StructureExtractor> for OwnedStructure
source§fn from(obj: StructureExtractor) -> OwnedStructure
fn from(obj: StructureExtractor) -> OwnedStructure
source§impl From<StructureFactory> for OwnedStructure
impl From<StructureFactory> for OwnedStructure
source§fn from(obj: StructureFactory) -> OwnedStructure
fn from(obj: StructureFactory) -> OwnedStructure
source§impl From<StructureInvaderCore> for OwnedStructure
impl From<StructureInvaderCore> for OwnedStructure
source§fn from(obj: StructureInvaderCore) -> OwnedStructure
fn from(obj: StructureInvaderCore) -> OwnedStructure
source§impl From<StructureKeeperLair> for OwnedStructure
impl From<StructureKeeperLair> for OwnedStructure
source§fn from(obj: StructureKeeperLair) -> OwnedStructure
fn from(obj: StructureKeeperLair) -> OwnedStructure
source§impl From<StructureLab> for OwnedStructure
impl From<StructureLab> for OwnedStructure
source§fn from(obj: StructureLab) -> OwnedStructure
fn from(obj: StructureLab) -> OwnedStructure
source§impl From<StructureLink> for OwnedStructure
impl From<StructureLink> for OwnedStructure
source§fn from(obj: StructureLink) -> OwnedStructure
fn from(obj: StructureLink) -> OwnedStructure
source§impl From<StructureNuker> for OwnedStructure
impl From<StructureNuker> for OwnedStructure
source§fn from(obj: StructureNuker) -> OwnedStructure
fn from(obj: StructureNuker) -> OwnedStructure
source§impl From<StructureObserver> for OwnedStructure
impl From<StructureObserver> for OwnedStructure
source§fn from(obj: StructureObserver) -> OwnedStructure
fn from(obj: StructureObserver) -> OwnedStructure
source§impl From<StructurePowerSpawn> for OwnedStructure
impl From<StructurePowerSpawn> for OwnedStructure
source§fn from(obj: StructurePowerSpawn) -> OwnedStructure
fn from(obj: StructurePowerSpawn) -> OwnedStructure
source§impl From<StructureRampart> for OwnedStructure
impl From<StructureRampart> for OwnedStructure
source§fn from(obj: StructureRampart) -> OwnedStructure
fn from(obj: StructureRampart) -> OwnedStructure
source§impl From<StructureSpawn> for OwnedStructure
impl From<StructureSpawn> for OwnedStructure
source§fn from(obj: StructureSpawn) -> OwnedStructure
fn from(obj: StructureSpawn) -> OwnedStructure
source§impl From<StructureStorage> for OwnedStructure
impl From<StructureStorage> for OwnedStructure
source§fn from(obj: StructureStorage) -> OwnedStructure
fn from(obj: StructureStorage) -> OwnedStructure
source§impl From<StructureTerminal> for OwnedStructure
impl From<StructureTerminal> for OwnedStructure
source§fn from(obj: StructureTerminal) -> OwnedStructure
fn from(obj: StructureTerminal) -> OwnedStructure
source§impl From<StructureTower> for OwnedStructure
impl From<StructureTower> for OwnedStructure
source§fn from(obj: StructureTower) -> OwnedStructure
fn from(obj: StructureTower) -> OwnedStructure
source§impl FromWasmAbi for OwnedStructure
impl FromWasmAbi for OwnedStructure
source§impl<'a> IntoWasmAbi for &'a OwnedStructure
impl<'a> IntoWasmAbi for &'a OwnedStructure
source§impl IntoWasmAbi for OwnedStructure
impl IntoWasmAbi for OwnedStructure
source§impl JsCast for OwnedStructure
impl JsCast for OwnedStructure
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 OwnedStructure
impl LongRefFromWasmAbi for OwnedStructure
§type Abi = <JsValue as LongRefFromWasmAbi>::Abi
type Abi = <JsValue as LongRefFromWasmAbi>::Abi
RefFromWasmAbi::Abi
§type Anchor = OwnedStructure
type Anchor = OwnedStructure
RefFromWasmAbi::Anchor
source§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abi
source§impl OptionFromWasmAbi for OwnedStructure
impl OptionFromWasmAbi for OwnedStructure
source§impl<'a> OptionIntoWasmAbi for &'a OwnedStructure
impl<'a> OptionIntoWasmAbi for &'a OwnedStructure
source§impl OptionIntoWasmAbi for OwnedStructure
impl OptionIntoWasmAbi for OwnedStructure
source§impl RefFromWasmAbi for OwnedStructure
impl RefFromWasmAbi for OwnedStructure
§type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self
are recovered from.§type Anchor = ManuallyDrop<OwnedStructure>
type Anchor = ManuallyDrop<OwnedStructure>
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.impl Attackable for OwnedStructure
Auto Trait Implementations§
impl RefUnwindSafe for OwnedStructure
impl !Send for OwnedStructure
impl !Sync for OwnedStructure
impl Unpin for OwnedStructure
impl UnwindSafe for OwnedStructure
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 T
impl<T> HasId for T
source§fn js_raw_id(&self) -> JsString
fn js_raw_id(&self) -> JsString
source§fn id(&self) -> ObjectId<Self>where
Self: Sized,
fn id(&self) -> ObjectId<Self>where
Self: Sized,
source§fn raw_id(&self) -> RawObjectId
fn raw_id(&self) -> RawObjectId
source§fn js_id(&self) -> JsObjectId<Self>where
Self: Sized,
fn js_id(&self) -> JsObjectId<Self>where
Self: Sized,
source§impl<T> HasPosition for Twhere
T: AsRef<RoomObject>,
impl<T> HasPosition for Twhere
T: AsRef<RoomObject>,
source§impl<T> MaybeHasId for Twhere
T: HasId,
impl<T> MaybeHasId for Twhere
T: HasId,
source§fn try_js_raw_id(&self) -> Option<JsString>
fn try_js_raw_id(&self) -> Option<JsString>
None
if the object doesn’t currently
have an ID.source§fn try_id(&self) -> Option<ObjectId<Self>>where
Self: Sized,
fn try_id(&self) -> Option<ObjectId<Self>>where
Self: Sized,
None
if the
object doesn’t currently have an ID.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> OwnedStructureProperties for Twhere
T: AsRef<OwnedStructure>,
impl<T> OwnedStructureProperties for Twhere
T: AsRef<OwnedStructure>,
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::Abi
source§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
.