3 #[mt_derive(to = "clt", repr = "u32", enumset)]
4 pub enum HudStyleFlag {
10 #[mt_derive(to = "clt", repr = "u8", tag = "attribute", content = "value")]
24 Style(EnumSet<HudStyleFlag>),
27 #[mt_derive(to = "clt", repr = "u8")]
37 #[mt_derive(to = "clt")]
38 pub struct HudElement {
39 pub hud_type: HudType,
49 pub world_pos: [f32; 3],
52 pub style: EnumSet<HudStyleFlag>,
56 pub fn apply_change(&mut self, change: HudChange) {
60 Pos(v) => self.pos = v,
61 Name(v) => self.name = v,
62 Scale(v) => self.scale = v,
63 Text(v) => self.text = v,
64 Number(v) => self.number = v,
65 Item(v) => self.item = v,
66 Dir(v) => self.dir = v,
67 Align(v) => self.align = v,
68 Offset(v) => self.offset = v,
69 WorldPos(v) => self.world_pos = v,
70 ZIndex(v) => self.z_index = v,
71 Text2(v) => self.text_2 = v,
72 Style(v) => self.style = v,
77 #[mt_derive(to = "clt", repr = "u32", enumset)]
88 #[mt_derive(to = "clt", repr = "u16", tag = "attribute", content = "value")]
89 pub enum HotbarParam {
90 Size(#[mt(const16 = 4)] u32) = 0,
92 SelectionImage(String),
95 #[mt_derive(to = "clt", repr = "u16")]
96 pub enum MinimapType {
103 #[mt_derive(to = "clt")]
104 pub struct MinimapMode {
105 pub minimap_type: MinimapType,
112 #[mt_derive(to = "clt", custom)]
113 pub struct MinimapModesPkt {
115 modes: Vec<MinimapMode>,
118 #[cfg(feature = "server")]
119 impl MtSerialize for MinimapModesPkt {
120 fn mt_serialize<C: MtCfg>(
122 writer: &mut impl std::io::Write,
123 ) -> Result<(), SerializeError> {
124 DefCfg::write_len(self.modes.len(), writer)?;
125 self.current.mt_serialize::<DefCfg>(writer)?;
126 self.modes.mt_serialize::<()>(writer)?;
132 #[cfg(feature = "client")]
133 impl MtDeserialize for MinimapModesPkt {
134 fn mt_deserialize<C: MtCfg>(reader: &mut impl std::io::Read) -> Result<Self, DeserializeError> {
135 let len = DefCfg::read_len(reader)?;
136 let current = MtDeserialize::mt_deserialize::<DefCfg>(reader)?;
137 let modes = mt_ser::mt_deserialize_sized_seq(&len, reader)?.try_collect()?;
139 Ok(Self { current, modes })
146 var DefaultMinimap = []MinimapMode{
148 {Type: SurfaceMinimap, Size: 256},
149 {Type: SurfaceMinimap, Size: 128},
150 {Type: SurfaceMinimap, Size: 64},
151 {Type: RadarMinimap, Size: 512},
152 {Type: RadarMinimap, Size: 256},
153 {Type: RadarMinimap, Size: 128},