From b8ee173868947217d8f71cd04c8886cf5bf3162b Mon Sep 17 00:00:00 2001 From: Adam Gausmann Date: Sun, 30 Oct 2022 00:39:05 -0500 Subject: [PATCH] Add Delayer component data --- src/custom_data.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/custom_data.rs b/src/custom_data.rs index 26a5bf7..e1d348b 100644 --- a/src/custom_data.rs +++ b/src/custom_data.rs @@ -44,3 +44,25 @@ impl ComponentData for CircuitBoard { Ok(()) } } + +#[derive(Debug)] +pub struct Delayer { + pub timer: u32, + pub delay: u32, +} + +impl ComponentData for Delayer { + const TYPE_STRING: &'static str = "MHG.Delayer"; + + fn read(reader: &mut R) -> Result { + let timer = ReadFrom::read_from(reader)?; + let delay = ReadFrom::read_from(reader)?; + Ok(Self { timer, delay }) + } + + fn write(&self, writer: &mut W) -> Result<(), Error> { + self.timer.write_to(writer)?; + self.delay.write_to(writer)?; + Ok(()) + } +}