dem/netmsg_doer/
sound_fade.rs1use super::*;
2
3impl Doer for SvcSoundFade {
4 fn id(&self) -> u8 {
5 48
6 }
7
8 fn parse(i: &[u8], _: AuxRefCell) -> Result<Self> {
9 map(
10 tuple((le_u8, le_u8, le_u8, le_u8)),
11 |(initial_percent, hold_time, fade_out_time, fade_in_time)| SvcSoundFade {
12 initial_percent,
13 hold_time,
14 fade_out_time,
15 fade_in_time,
16 },
17 )(i)
18 }
19
20 fn write(&self, _: AuxRefCell) -> ByteVec {
21 let mut writer = ByteWriter::new();
22
23 writer.append_u8(self.id());
24
25 writer.append_u8(self.initial_percent);
26 writer.append_u8(self.hold_time);
27 writer.append_u8(self.fade_in_time);
28 writer.append_u8(self.fade_out_time);
29
30 writer.data
31 }
32}