Skip to main content

EntityKind

Enum EntityKind 

Source
pub enum EntityKind {
    Object,
    Living,
    Mob,
    Hanging,
}
Expand description

What kind of entity a type is.

Variants§

§

Object

Not alive: a thing in the world (a scroll on a wall, a vehicle, a display) — no health, no AI.

§

Living

Alive: health, attributes, hurt and death, but no AI of its own.

§

Mob

A creature with AI: goals, and walking about.

§

Hanging

Hangs on a block’s side, as a painting: width×height whole blocks of wall (the item it’s placed from may say another size — [ItemDef::hangs]); it stays while the blocks behind hold it, and breaking it, or losing its wall, drops the item it was placed from.

Trait Implementations§

Source§

impl Clone for EntityKind

Source§

fn clone(&self) -> EntityKind

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 EntityKind

Source§

impl Debug for EntityKind

Source§

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

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

impl Default for EntityKind

Source§

fn default() -> EntityKind

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

impl Eq for EntityKind

Source§

impl PartialEq for EntityKind

Source§

fn eq(&self, other: &EntityKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Schema for EntityKind

Source§

fn shape() -> Shape

What the format looks like.
Source§

fn pack(&self, p: &mut Packer)

Packs itself into a frame (crate::frame): its binary form as bytes, unless the type packs itself (derived ones and plain types do).
Source§

fn unpack(u: &mut Unpacker<'_>) -> Option<EntityKind>

Reads itself out of a frame; None if the bytes aren’t what Schema::pack writes.
Source§

fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<EntityKind>

Reads v. Problems go to cx at its current path; None when the value couldn’t be read (the problem is in cx).
Source§

fn write(&self) -> Value

The value, as the format writes it.
Source§

fn encode(&self, w: &mut Writer)

Writes itself in the binary form, straight — Schema::write’s value encoded, unless the type knows better (derived ones do).
Source§

fn decode(d: &mut Decoder<'_>) -> Option<EntityKind>

Reads itself from the binary form, straight; None when it isn’t what Schema::encode writes — then read_bytes reads the slow way, which says what’s wrong. Through a value unless the type knows better (derived ones do).
Source§

fn absent() -> Option<Self>

The value of a field that isn’t there — None: the field is required.
Source§

fn skip(&self) -> bool

Whether a struct leaves this field out when writing it.
Source§

fn pack_list(items: &[Self], p: &mut Packer)

A list of these packed: a count, then each one (floats raw).
Source§

fn unpack_list(u: &mut Unpacker<'_>) -> Option<Vec<Self>>

A list of these out of a frame.
Source§

fn encode_list(items: &[Self], w: &mut Writer)

A list of these written straight (numbers pack theirs).
Source§

fn decode_list(d: &mut Decoder<'_>) -> Option<Vec<Self>>

A list of these read straight.
Source§

impl StructuralPartialEq for EntityKind

Source§

impl<'a> View<'a> for EntityKind

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

Source§

fn arg(self) -> T

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> Message for T
where T: Schema,

Source§

fn to_bytes(&self) -> Vec<u8> ⓘ

The payload’s bytes.
Source§

fn from_bytes(bytes: &[u8]) -> Option<Self>

The message read from a payload; None if it isn’t one.
Source§

fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R

f on the payload, packed in this thread’s reused buffers: nothing allocated once they’ve grown to the thread’s messages.
Source§

impl<T> Packet for T
where T: Schema,

Source§

fn to_payload(&self) -> Vec<u8> ⓘ

Source§

fn from_payload(bytes: &[u8]) -> Option<T>

None for bytes that aren’t this packet.
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.