pub struct Flag { /* private fields */ }Expand description
A Flag, which can be placed by the player or created automatically
and are only visible to their owners. You can’t create more than
FLAGS_LIMIT.
Implementations§
source§impl Flag
 
impl Flag
sourcepub fn set_memory(&self, val: &JsValue)
 
pub fn set_memory(&self, val: &JsValue)
Sets a new value to Memory.flags[flag.name].
source§impl Flag
 
impl Flag
source§impl Flag
 
impl Flag
sourcepub fn set_position(&self, pos: RoomPosition)
 
pub fn set_position(&self, pos: RoomPosition)
Set the position of the flag
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 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 Flag
 
impl AsRef<RoomObject> for Flag
source§fn as_ref(&self) -> &RoomObject
 
fn as_ref(&self) -> &RoomObject
source§impl Deref for Flag
 
impl Deref for Flag
§type Target = RoomObject
 
type Target = RoomObject
source§fn deref(&self) -> &RoomObject
 
fn deref(&self) -> &RoomObject
source§impl From<Flag> for ObjectWithPosition
 
impl From<Flag> for ObjectWithPosition
source§fn from(v: Flag) -> ObjectWithPosition
 
fn from(v: Flag) -> ObjectWithPosition
source§impl From<Flag> for RoomObject
 
impl From<Flag> for RoomObject
source§fn from(obj: Flag) -> RoomObject
 
fn from(obj: Flag) -> RoomObject
source§impl From<Flag> for TypedRoomObject
 
impl From<Flag> for TypedRoomObject
source§fn from(v: Flag) -> TypedRoomObject
 
fn from(v: Flag) -> TypedRoomObject
source§impl FromWasmAbi for Flag
 
impl FromWasmAbi for Flag
source§impl<'a> IntoWasmAbi for &'a Flag
 
impl<'a> IntoWasmAbi for &'a Flag
source§impl IntoWasmAbi for Flag
 
impl IntoWasmAbi for Flag
source§impl JsCast for Flag
 
impl JsCast for Flag
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 JsCollectionFromValue for Flag
 
impl JsCollectionFromValue for Flag
fn from_value(val: JsValue) -> Self
source§impl LongRefFromWasmAbi for Flag
 
impl LongRefFromWasmAbi for Flag
source§impl OptionFromWasmAbi for Flag
 
impl OptionFromWasmAbi for Flag
source§impl<'a> OptionIntoWasmAbi for &'a Flag
 
impl<'a> OptionIntoWasmAbi for &'a Flag
source§impl OptionIntoWasmAbi for Flag
 
impl OptionIntoWasmAbi for Flag
source§impl RefFromWasmAbi for Flag
 
impl RefFromWasmAbi for Flag
§type Abi = <JsValue as RefFromWasmAbi>::Abi
 
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self are recovered from.§type Anchor = ManuallyDrop<Flag>
 
type Anchor = ManuallyDrop<Flag>
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§impl TryInto<Flag> for ObjectWithPosition
 
impl TryInto<Flag> for ObjectWithPosition
source§impl TryInto<Flag> for TypedRoomObject
 
impl TryInto<Flag> for TypedRoomObject
Auto Trait Implementations§
impl RefUnwindSafe for Flag
impl !Send for Flag
impl !Sync for Flag
impl Unpin for Flag
impl UnwindSafe for Flag
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> HasPosition for Twhere
    T: AsRef<RoomObject>,
 
impl<T> HasPosition for Twhere T: AsRef<RoomObject>,
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.