bevy/crates/bevy_app/src/resources.rs
2020-04-30 23:59:05 -07:00

25 lines
491 B
Rust

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