Moved out objects from game module
[kaka/rust-sdl-test.git] / src / core / object / mod.rs
diff --git a/src/core/object/mod.rs b/src/core/object/mod.rs
new file mode 100644 (file)
index 0000000..2ecf042
--- /dev/null
@@ -0,0 +1,22 @@
+use core::level::Level;
+use core::render::Renderer;
+use sprites::SpriteManager;
+use time::Duration;
+
+pub mod boll;
+pub mod character;
+
+pub type Objects = Vec<Box<dyn Object>>;
+
+////////// OBJECT //////////////////////////////////////////////////////////////
+
+pub trait Object {
+    fn update(&mut self, objects: &mut Objects, lvl: &Level, dt: Duration) -> ObjectState;
+    fn render(&self, _renderer: &mut Renderer, _sprites: &SpriteManager) {}
+}
+
+#[derive(PartialEq)]
+pub enum ObjectState { Alive, Dead }
+
+pub trait Physical {}
+pub trait Drawable {}