Skip to main content

LuaNotificationQueue

Struct LuaNotificationQueue 

Source
pub struct LuaNotificationQueue;
Expand description

Object that keeps track of objects invalidation and queues notifications for when object becomes invalid.

This object is an alternative mechanism to LuaBootstrap::register_on_object_destroyed where instead of raising lua events, this object only queues notifications and makes them available to use later by calls to LuaNotificationQueue::poll or LuaNotificationQueue::poll_all.

New instances of this object can be obtained from LuaBootstrap::new_notification_queue.

Each instance of this object is unique, always valid and cannot be copied. This object lives entirely in script state and if its no longer referenced by script, it will be destroyed by garbage collector.

Implementations§

Source§

impl LuaNotificationQueue

Source

pub fn object_name(&self) -> &str

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Source

pub fn valid(&self) -> bool

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

Source

pub fn add(&self, object: LuaAny) -> u64

Registers an object so that after it’s destroyed, a notification is queued.

If this object is already registered within this notification queue, an existing registration number will be provided without creating new registration.

Source

pub fn clear(&self)

Removes all registrations.

Source

pub fn find(&self, object: LuaAny) -> Option<u64>

Checks if provided object is already registered and returns existing registration number for it. If object is not registered, it is not registered and nil is returned instead.

Source

pub fn poll(&self) -> Option<u64>

Gets at most 1 registration id for which an object was destroyed.

Source

pub fn poll_all(&self) -> Vec<u64>

Gets all registration ids for which object were destroyed.

Source

pub fn remove(&self, registration_id: u64)

Removes a registration based on registration number.

Trait Implementations§

Source§

impl Clone for LuaNotificationQueue

Source§

fn clone(&self) -> LuaNotificationQueue

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 LuaNotificationQueue

Source§

impl Debug for LuaNotificationQueue

Source§

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

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

impl Default for LuaNotificationQueue

Source§

fn default() -> LuaNotificationQueue

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

impl Eq for LuaNotificationQueue

Source§

impl From<LuaNotificationQueue> for LuaAny

Source§

fn from(_: LuaNotificationQueue) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaNotificationQueue

Source§

impl PartialEq for LuaNotificationQueue

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for LuaNotificationQueue

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

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.