Moved out objects from game module
[kaka/rust-sdl-test.git] / src / core / object / mod.rs
1 use core::level::Level;
2 use core::render::Renderer;
3 use sprites::SpriteManager;
4 use time::Duration;
5
6 pub mod boll;
7 pub mod character;
8
9 pub type Objects = Vec<Box<dyn Object>>;
10
11 ////////// OBJECT //////////////////////////////////////////////////////////////
12
13 pub trait Object {
14     fn update(&mut self, objects: &mut Objects, lvl: &Level, dt: Duration) -> ObjectState;
15     fn render(&self, _renderer: &mut Renderer, _sprites: &SpriteManager) {}
16 }
17
18 #[derive(PartialEq)]
19 pub enum ObjectState { Alive, Dead }
20
21 pub trait Physical {}
22 pub trait Drawable {}