X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcore%2Fapp.rs;h=808277fb0b13c222b9aee193a1e39e78465bbbdf;hb=2e679e6fb2c1a93d1cb9b6cd66d19f6239953394;hp=18be50c84e7a9291adc159cfc858ff85df926715;hpb=3af74c40c83bd8e5691bff3dc31f5cfd5ae9a73d;p=kaka%2Frust-sdl-test.git diff --git a/src/core/app.rs b/src/core/app.rs index 18be50c..808277f 100644 --- a/src/core/app.rs +++ b/src/core/app.rs @@ -1,8 +1,8 @@ use boll::*; -use common::{Point, Dimension}; use core::controller::ControllerManager; use core::render::Renderer; -use point; // defined in common, but loaded from main... +use geometry::{Point, Dimension}; +use point; use rand::Rng; use sdl2::event::{Event, WindowEvent}; use sdl2::keyboard::Keycode; @@ -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(); } }