wolfrpg_map_parser/command/input_key_command/input_key/
mouse.rs1use crate::command::input_key_command::input_key::mouse_options::MouseOptions;
2#[cfg(feature = "serde")]
3use serde::{Serialize, Deserialize};
4
5#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
6#[derive(PartialEq, Clone)]
7pub struct Mouse {
8 options: MouseOptions
9}
10
11impl Mouse {
12 pub(crate) fn parse(bytes: &[u8]) -> (usize, Self) {
13 let mut offset: usize = 0;
14
15 let options: u8 = bytes[offset];
16 let options: MouseOptions = MouseOptions::new(options);
17 offset += 1;
18
19 offset += 1; offset += 2; (offset, Self {
24 options,
25 })
26 }
27
28 pub fn options(&self) -> &MouseOptions {
29 &self.options
30 }
31
32 pub fn options_mut(&mut self) -> &mut MouseOptions {
33 &mut self.options
34 }
35}