2020-08-11 14:05:34 +00:00
|
|
|
use super::item::Reagent;
|
2023-06-01 13:51:19 +00:00
|
|
|
use crate::{resources::Time, uid::Uid};
|
2020-07-06 14:23:08 +00:00
|
|
|
use serde::{Deserialize, Serialize};
|
2023-06-01 13:51:19 +00:00
|
|
|
use specs::{Component, DerefFlaggedStorage};
|
|
|
|
use std::time::Duration;
|
2020-07-04 23:55:13 +00:00
|
|
|
|
2023-06-01 13:51:19 +00:00
|
|
|
#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
|
2020-07-04 23:55:13 +00:00
|
|
|
pub enum Object {
|
2020-08-11 14:05:34 +00:00
|
|
|
Bomb {
|
|
|
|
owner: Option<Uid>,
|
|
|
|
},
|
|
|
|
Firework {
|
|
|
|
owner: Option<Uid>,
|
|
|
|
reagent: Reagent,
|
|
|
|
},
|
2023-06-01 13:51:19 +00:00
|
|
|
DeleteAfter {
|
|
|
|
spawned_at: Time,
|
|
|
|
timeout: Duration,
|
|
|
|
},
|
2020-07-04 23:55:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Component for Object {
|
2023-06-01 13:51:19 +00:00
|
|
|
type Storage = DerefFlaggedStorage<Self, specs::VecStorage<Self>>;
|
2020-07-04 23:55:13 +00:00
|
|
|
}
|