X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcore%2Fapp.rs;h=8bed04c33691b8162bd0a335d7a56f05da3af7f9;hb=0c56b1f7a5568d6bfbebd196cf63ccef503cf959;hp=434f56c53a1273d37e9856acf20bd522e2d4a26d;hpb=1f42d724d84ed1c014ff40ccc91058472391be0c;p=kaka%2Frust-sdl-test.git diff --git a/src/core/app.rs b/src/core/app.rs index 434f56c..8bed04c 100644 --- a/src/core/app.rs +++ b/src/core/app.rs @@ -141,7 +141,7 @@ impl App { pub fn start(&mut self) { let mut last_time = Instant::now(); - self.states[0].enter(&mut self.ctrl_man); + self.states[0].enter(&self.ctrl_man); loop { if let Some(change) = self.handle_events() { @@ -171,7 +171,7 @@ impl App { // if let Some(s) = self.states.last_mut() { // s.pause(); // } - state.enter(&mut self.ctrl_man); + state.enter(&self.ctrl_man); self.states.push(state); } StateChange::Pop => { @@ -248,7 +248,9 @@ impl App { } _ => { if let Some(state) = self.states.last_mut() { - return state.handle_event(event) + if let Some(change) = state.handle_event(event) { + return Some(change); + } } else { return Some(StateChange::Exit) } @@ -260,7 +262,7 @@ impl App { fn render(&mut self) { self.renderer.clear(); - self.states.last_mut().unwrap().render(&mut self.renderer, &mut self.sprites); + self.states.last_mut().unwrap().render(&mut self.renderer, &self.sprites); self.renderer.present(); } }