pub struct AppExiting {
pub reason: ExitReason,
}Expand description
Emitted when the application is about to exit.
This event fires before shutdown begins, giving systems a chance to perform cleanup, save state, or release resources gracefully.
§Exit Reasons
The reason field indicates why the application is exiting:
User: User requested exit (close button, quit command)Error: Unrecoverable error occurredProgrammatic: Code explicitly requested shutdown
§Example
use goud_engine::core::events::{AppExiting, ExitReason};
use goud_engine::core::event::Events;
fn on_app_exit(events: &Events<AppExiting>) {
let mut reader = events.reader();
for event in reader.read() {
match event.reason {
ExitReason::User => println!("User requested exit"),
ExitReason::Error => println!("Exiting due to error"),
ExitReason::Programmatic => println!("Programmatic shutdown"),
}
// Save game state, cleanup resources, etc.
}
}Fields§
§reason: ExitReasonThe reason the application is exiting.
Implementations§
Source§impl AppExiting
impl AppExiting
Sourcepub fn new(reason: ExitReason) -> Self
pub fn new(reason: ExitReason) -> Self
Creates an AppExiting event with the specified reason.
Sourcepub fn programmatic() -> Self
pub fn programmatic() -> Self
Creates an AppExiting event for programmatic exit.
Trait Implementations§
Source§impl Clone for AppExiting
impl Clone for AppExiting
Source§fn clone(&self) -> AppExiting
fn clone(&self) -> AppExiting
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AppExiting
impl Debug for AppExiting
Source§impl Default for AppExiting
impl Default for AppExiting
Source§impl Hash for AppExiting
impl Hash for AppExiting
Source§impl PartialEq for AppExiting
impl PartialEq for AppExiting
impl Copy for AppExiting
impl Eq for AppExiting
impl StructuralPartialEq for AppExiting
Auto Trait Implementations§
impl Freeze for AppExiting
impl RefUnwindSafe for AppExiting
impl Send for AppExiting
impl Sync for AppExiting
impl Unpin for AppExiting
impl UnsafeUnpin for AppExiting
impl UnwindSafe for AppExiting
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().