veloren_common/comp/
visual.rs1use serde::{Deserialize, Serialize};
2use specs::{Component, DenseVecStorage, DerefFlaggedStorage};
3use vek::*;
4
5#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
6pub struct LightEmitter {
7 pub col: Rgb<f32>,
8 pub strength: f32,
9 pub flicker: f32,
10 pub animated: bool,
11}
12
13impl Default for LightEmitter {
14 fn default() -> Self {
15 Self {
16 col: Rgb::one(),
17 strength: 1.0,
18 flicker: 0.0,
19 animated: false,
20 }
21 }
22}
23
24impl Component for LightEmitter {
25 type Storage = DerefFlaggedStorage<Self, DenseVecStorage<Self>>;
26}
27
28#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
29pub struct LightAnimation {
30 pub offset: Vec3<f32>,
31 pub col: Rgb<f32>,
32 pub strength: f32,
33}
34
35impl Default for LightAnimation {
36 fn default() -> Self {
37 Self {
38 offset: Vec3::zero(),
39 col: Rgb::zero(),
40 strength: 0.0,
41 }
42 }
43}
44
45impl Component for LightAnimation {
46 type Storage = DenseVecStorage<Self>;
47}