gapp/lib.rs
1pub trait Render<R> {
2 fn render(&self, renderer: &mut R);
3}
4
5pub trait Update {
6 fn update(&mut self, timestep: f32);
7}
8
9impl<R, T: Render<R>> Render<R> for Vec<T> {
10 fn render(&self, renderer: &mut R) {
11 for app in self {
12 app.render(renderer);
13 }
14 }
15}
16
17impl<T: Update> Update for Vec<T> {
18 fn update(&mut self, timestep: f32) {
19 for app in self {
20 app.update(timestep);
21 }
22 }
23}