mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/mod.rs')
-rw-r--r--src/data/mod.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/data/mod.rs b/src/data/mod.rs
index 3eccbd1..85cbbd6 100644
--- a/src/data/mod.rs
+++ b/src/data/mod.rs
@@ -455,13 +455,16 @@ impl<'d> TryFrom<DataWrite<'d>> for Vec<u8> {
}
}
/// basic serialization/deserialization functions
-pub trait Serializer<D> {
+pub trait Serializable
+where
+ Self: Sized,
+{
type ReadError;
type WriteError;
-
- fn deserialize(&mut self, buff: &mut DataRead<'_>) -> Result<D, Self::ReadError>;
-
- fn serialize(&mut self, buff: &mut DataWrite<'_>, data: &D) -> Result<(), Self::WriteError>;
+ /// deserialize self from a binary buffer
+ fn deserialize(buff: &mut DataRead<'_>) -> Result<Self, Self::ReadError>;
+ /// transform self into a binary buffer
+ fn serialize(&self, buff: &mut DataWrite<'_>) -> Result<(), Self::WriteError>;
}
#[derive(Clone, Copy, Eq, PartialEq)]