pub struct Message { /* private fields */ }Expand description
Nachricht, die zwischen Scripts oder von der Engine gesendet werden kann.
Represents a message that can be sent between scripts or from the engine.
§Example
// Define a message type, has to implement Serialize and Deserialize
#[derive(Serialize, Deserialize)]
struct TestMessage {
value: i32,
}
// Register the message type
message_type!(TestMessage, "test", "message");Implementations§
Source§impl Message
impl Message
Sourcepub fn new<T>(value: &T) -> Messagewhere
T: MessageType,
pub fn new<T>(value: &T) -> Messagewhere
T: MessageType,
Erstellt eine neue Nachricht mit dem angegebenen Wert.
Creates a new message with the given value.
Sourcepub fn meta(&self) -> &MessageMeta
pub fn meta(&self) -> &MessageMeta
Gibt die Metadaten des Nachrichtentyps zurück.
Returns the message type metadata.
Sourcepub fn source(&self) -> &MessageSource
pub fn source(&self) -> &MessageSource
Gibt die Quelle der Nachricht zurück.
Returns the source of the message.
Sourcepub fn value<T>(&self) -> Result<T, MessageValueError>where
T: MessageType,
pub fn value<T>(&self) -> Result<T, MessageValueError>where
T: MessageType,
Gibt den Nachrichtenwert als angegebenen Typ zurück.
Liefert einen MessageValueError, wenn der Typ nicht passt.
Returns the message value as the given type. Returns a MessageValueError if the message has a different type.
Sourcepub fn has_type<T>(&self) -> boolwhere
T: MessageType,
pub fn has_type<T>(&self) -> boolwhere
T: MessageType,
Gibt true zurück, wenn die Nachricht den angegebenen Typ hat.
Returns true if the message has the given type.
Sourcepub fn handle<T>(
&self,
f: impl FnOnce(T) -> Result<(), Box<dyn Error>>,
) -> Result<bool, MessageHandleError>where
T: MessageType,
pub fn handle<T>(
&self,
f: impl FnOnce(T) -> Result<(), Box<dyn Error>>,
) -> Result<bool, MessageHandleError>where
T: MessageType,
Verarbeitet die Nachricht mit der angegebenen Handler-Funktion.
Liefert Ok(true), wenn verarbeitet, Ok(false) bei Typabweichung,
oder Err bei Deserialisierungs- bzw. Handlerfehler.
Die Handler-Funktion sollte Ok(()) zurückgeben, wenn die Nachricht erfolgreich verarbeitet wurde.
Handle the message with the given handler function.
Returns Ok(true) if the message was handled, Ok(false) if the message has a different type,
or Err if the message could not be deserialized or the handler function returned an error.
The handler function should return Ok(()) if the message was handled successfully.