Moved geometry to root level
[kaka/rust-sdl-test.git] / src / core / app.rs
index 18be50c..f5452fd 100644 (file)
@@ -1,7 +1,7 @@
 use boll::*;
-use common::{Point, Dimension};
 use core::controller::ControllerManager;
 use core::render::Renderer;
+use geometry::{Point, Dimension};
 use point; // defined in common, but loaded from main...
 use rand::Rng;
 use sdl2::event::{Event, WindowEvent};
@@ -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();
     }
 }