use crate::{EventReader, GetEventReader}; use legion::prelude::Resources; pub trait FromResources { fn from_resources(resources: &Resources) -> Self; } impl FromResources for T where T: Default, { default fn from_resources(_resources: &Resources) -> Self { Self::default() } } impl FromResources for EventReader where T: Send + Sync + 'static, { fn from_resources(resources: &Resources) -> Self { resources.get_event_reader::() } }