Module iter_current_update_messages

Module iter_current_update_messages 

Source
Expand description

Checks for calls to Messages::<T>::iter_current_update_messages().

§Motivation

Messages::<T>::iter_current_update_messages() lets you read all of the current messages since Messages::<T>::update() was last called, similar to MessageReader<T>. Unlike MessageReader<T>, iter_current_update_messages() does not track which messages have already been read. As such, iter_current_update_messages() is highly discouraged because it may skip messages or yield them multiple times.

§Example

#[derive(Message)]
struct MyMessage;

fn my_system(messages: Res<Messages<MyMessage>>) {
    for message in messages.iter_current_update_messages() {
        // ...
    }
}

Use instead:

#[derive(Message)]
struct MyMessage;

fn my_system(mut messages: MessageReader<MyMessage>) {
    for message in messages.read() {
        // ...
    }
}