use std::any::Any;
pub trait SubsystemBase: Any + Send + Sync {
fn on_before_frame(&mut self){}
fn on_after_frame(&mut self){}
fn on_before_pause(&mut self){}
fn on_after_pause(&mut self){}
}
impl_downcast!(SubsystemBase);
downcast_methods!(SubsystemBase);
impl<T: SubsystemBase + ?Sized> SubsystemBase for Box<T> {
fn on_before_frame(&mut self){ (**self).on_before_frame(); }
fn on_after_frame(&mut self){ (**self).on_after_frame(); }
fn on_before_pause(&mut self){ (**self).on_before_pause(); }
fn on_after_pause(&mut self){ (**self).on_after_pause(); }
}