clige_rs/game/object/
mod.rs1mod entity;
4mod item;
5mod level;
6mod door;
7
8pub use entity::*;
9pub use item::*;
10pub use level::*;
11pub use door::*;
12
13use crate::error::GameError;
14
15#[derive(PartialEq, Debug)]
17pub enum Action {
18 Help,
19 Attack,
20 Throw,
21 Take,
22 Eat,
23 Enter,
24 Equip,
25 Back,
26}
27
28pub enum Message {
30 Keep(Box<dyn Object>),
31 Remove,
32 Equip(Box<Weapon>),
33 ChangeLocation(*mut Level)
34}
35
36pub trait Object {
40 fn handle(
42 self: Box<Self>,
43 sender: &mut dyn Entity,
44 action: Action,
45 ) -> Result<Message, GameError>;
46
47 fn draw(&self);
49}