diff --git a/src/components.rs b/src/components.rs index db9d403..4fdbaac 100644 --- a/src/components.rs +++ b/src/components.rs @@ -1,4 +1,6 @@ +// ! The `C` in `ECS` mod enums; +mod serialize; mod tags; use std::collections::HashMap; @@ -10,6 +12,7 @@ use ::specs::prelude::*; use ::specs::saveload::{ConvertSaveload, Marker}; use ::specs_derive::*; pub use enums::*; +pub use serialize::*; pub use tags::*; use crate::gamesystem::attr_bonus; @@ -379,19 +382,3 @@ pub struct SpawnParticleBurst { pub color: RGB, pub lifetime_ms: f32, } - -// Serialization helper code. We need to implement ConvertSaveLoad for each type that contains an -// Entity. - -pub struct SerializeMe; - -// Special component that exists to help serialize the game data -#[derive(Component, Serialize, Deserialize, Clone)] -pub struct SerializationHelper { - pub map: crate::map::Map, -} - -#[derive(Component, Serialize, Deserialize, Clone)] -pub struct DMSerializationHelper { - pub map: crate::map::MasterDungeonMap, -} diff --git a/src/components/serialize.rs b/src/components/serialize.rs new file mode 100644 index 0000000..68db97e --- /dev/null +++ b/src/components/serialize.rs @@ -0,0 +1,20 @@ +use crate::map::{Map, MasterDungeonMap}; +use ::serde::{Deserialize, Serialize}; +use ::specs::prelude::*; +use ::specs_derive::*; + +// Serialization helper code. We need to implement ConvertSaveLoad for each type that contains an +// Entity. + +pub struct SerializeMe; + +// Special component that exists to help serialize the game data +#[derive(Component, Serialize, Deserialize, Clone)] +pub struct SerializationHelper { + pub map: Map, +} + +#[derive(Component, Serialize, Deserialize, Clone)] +pub struct DMSerializationHelper { + pub map: MasterDungeonMap, +}