summaryrefslogtreecommitdiff
path: root/src/purgatory.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/purgatory.rs')
-rw-r--r--src/purgatory.rs23
1 files changed, 4 insertions, 19 deletions
diff --git a/src/purgatory.rs b/src/purgatory.rs
index 41015f4..028df34 100644
--- a/src/purgatory.rs
+++ b/src/purgatory.rs
@@ -2,35 +2,20 @@
use serde_json::json;
use serde::Deserialize;
-use specs::{
- DispatcherBuilder
-};
use crate::{
RoomId,
Encyclopedia,
- room::Room,
- roomtemplate::RoomTemplate,
- systems::{
- Move,
- ControlInput,
- UpdateCooldowns,
- ControlAI,
- }
+ room::{Room, RoomType},
+ roomtemplate::RoomTemplate
};
pub fn purgatory_id() -> RoomId {
RoomId(String::from("+"))
}
-pub fn create_purgatory<'a, 'b>(encyclopedia: &Encyclopedia) -> Room<'a, 'b> {
- let dispatcher = DispatcherBuilder::new()
- .with(UpdateCooldowns, "cool_down", &[])
- .with(ControlInput, "controlinput", &["cool_down"])
- .with(ControlAI, "controlai", &["cool_down"])
- .with(Move, "move", &["controlinput", "controlai"])
- .build();
- let mut room = Room::new(purgatory_id(), encyclopedia.clone(), Some(dispatcher));
+pub fn create_purgatory<'a, 'b>(encyclopedia: &Encyclopedia) -> Room {
+ let mut room = Room::new(purgatory_id(), encyclopedia.clone(), RoomType::Purgatory);
room.load_from_template(&RoomTemplate::deserialize(&json!({
"width": 15,
"height": 20,