1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::world::World;

pub type BoxedSystem = Box<dyn System>;

pub trait System {
    fn run(&mut self, world: &mut World);
}

pub trait IntoSystem<Marker> {
    type System: System;

    fn into_system(self) -> Self::System;
}