1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum VfxMaterialId {
Tracer = 0,
}
pub struct VfxMaterialDef {
pub name: &'static str,
pub color: (u8, u8, u8, u8),
pub length: f32,
}
static MATERIALS: [VfxMaterialDef; 1] = [VfxMaterialDef {
name: "Tracer",
color: (0xFF, 0xAA, 0xAA, 0xFF),
length: 10.0,
}];
impl VfxMaterialId {
pub const ALL: [VfxMaterialId; 1] = [VfxMaterialId::Tracer];
#[inline]
pub fn def(self) -> &'static VfxMaterialDef {
&MATERIALS[self as usize]
}
pub fn from_index(idx: u8) -> VfxMaterialId {
VfxMaterialId::ALL[idx as usize]
}
}
|