Skip to main content

wowlab_types/types/data/
global.rs

1use compact_str::CompactString;
2use serde::{Deserialize, Serialize};
3use wowlab_engine_macros::CopyInsert;
4
5#[derive(Clone, CopyInsert, Debug, Deserialize, Serialize)]
6pub struct ClassDataFlat {
7    pub id: i32,
8    pub name: CompactString,
9    pub filename: CompactString,
10    pub icon_file_id: i32,
11    pub file_name: CompactString,
12    pub color: CompactString,
13    pub spell_class_set: i32,
14    pub primary_stat_priority: i32,
15    pub roles_mask: i32,
16}
17
18impl Default for ClassDataFlat {
19    fn default() -> Self {
20        Self {
21            id: 0,
22            name: CompactString::default(),
23            filename: CompactString::default(),
24            icon_file_id: 0,
25            file_name: CompactString::const_new(crate::constants::DEFAULT_ICON_FILENAME),
26            color: CompactString::const_new("#FFFFFF"),
27            spell_class_set: 0,
28            primary_stat_priority: 0,
29            roles_mask: 0,
30        }
31    }
32}
33
34#[derive(Clone, CopyInsert, Debug, Deserialize, Serialize)]
35pub struct GlobalColorFlat {
36    pub id: i32,
37    pub name: CompactString,
38    pub color: CompactString,
39}
40
41impl Default for GlobalColorFlat {
42    fn default() -> Self {
43        Self {
44            id: 0,
45            name: CompactString::default(),
46            color: CompactString::const_new("#FFFFFF"),
47        }
48    }
49}
50
51#[derive(Clone, CopyInsert, Debug, Default, Deserialize, Serialize)]
52pub struct GlobalStringFlat {
53    pub id: i32,
54    pub tag: CompactString,
55    pub value: String,
56    pub flags: i32,
57}