Commit | Line | Data |
---|---|---|
5d7eff9e TW |
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 {} |