From 69ac6eb6153b016c39bbe55c85f15e3478032182 Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 9 Mar 2020 16:54:26 +0100 Subject: can now include variables (like health) in serialisation --- src/components/mod.rs | 7 ++----- src/components/serialise.rs | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 src/components/serialise.rs (limited to 'src/components') diff --git a/src/components/mod.rs b/src/components/mod.rs index c3e8d5d..b43eba1 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -5,6 +5,7 @@ pub mod faction; pub mod interactable; pub mod equipment; pub mod inventory; +pub mod serialise; pub use item::Item; pub use messages::{ @@ -16,6 +17,7 @@ pub use faction::Faction; pub use interactable::Interactable; pub use equipment::Equipment; pub use inventory::Inventory; +pub use serialise::Serialise; use specs::{ DenseVecStorage, @@ -118,11 +120,6 @@ impl Health { } } -#[derive(Component, Debug, Clone)] -pub struct Serialise { - pub template: Template -} - #[derive(Component, Debug, Clone)] pub struct RoomExit { pub destination: RoomId, diff --git a/src/components/serialise.rs b/src/components/serialise.rs new file mode 100644 index 0000000..aa79d93 --- /dev/null +++ b/src/components/serialise.rs @@ -0,0 +1,16 @@ + +use specs::{ + Component, + DenseVecStorage +}; +use crate::{ + Template, + componentwrapper::ComponentType +}; + + +#[derive(Component, Debug, Clone)] +pub struct Serialise { + pub template: Template, + pub extract: Vec<(String, ComponentType, String)> +} -- cgit