subtr_actor/stats/export/
musty_flick.rs1use crate::*;
2
3use super::*;
4
5impl StatFieldProvider for MustyFlickStats {
6 fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
7 visitor(ExportedStat::unsigned(
8 "musty_flick",
9 "count",
10 StatUnit::Count,
11 self.count,
12 ));
13 visitor(ExportedStat::unsigned(
14 "musty_flick",
15 "aerial_count",
16 StatUnit::Count,
17 self.aerial_count,
18 ));
19 visitor(ExportedStat::unsigned(
20 "musty_flick",
21 "high_confidence_count",
22 StatUnit::Count,
23 self.high_confidence_count,
24 ));
25 visitor(ExportedStat::unsigned(
26 "musty_flick",
27 "is_last_musty",
28 StatUnit::Count,
29 u32::from(self.is_last_musty),
30 ));
31 if let Some(value) = self.last_musty_time {
32 visitor(ExportedStat::float(
33 "musty_flick",
34 "last_musty_time",
35 StatUnit::Seconds,
36 value,
37 ));
38 }
39 if let Some(value) = self.last_musty_frame {
40 visitor(ExportedStat::unsigned(
41 "musty_flick",
42 "last_musty_frame",
43 StatUnit::Count,
44 u32::try_from(value).unwrap_or(u32::MAX),
45 ));
46 }
47 if let Some(value) = self.time_since_last_musty {
48 visitor(ExportedStat::float(
49 "musty_flick",
50 "time_since_last_musty",
51 StatUnit::Seconds,
52 value,
53 ));
54 }
55 if let Some(value) = self.frames_since_last_musty {
56 visitor(ExportedStat::unsigned(
57 "musty_flick",
58 "frames_since_last_musty",
59 StatUnit::Count,
60 u32::try_from(value).unwrap_or(u32::MAX),
61 ));
62 }
63 if let Some(value) = self.last_confidence {
64 visitor(ExportedStat::float(
65 "musty_flick",
66 "last_confidence",
67 StatUnit::Percent,
68 value * 100.0,
69 ));
70 }
71 visitor(ExportedStat::float(
72 "musty_flick",
73 "average_confidence",
74 StatUnit::Percent,
75 self.average_confidence() * 100.0,
76 ));
77 visitor(ExportedStat::float(
78 "musty_flick",
79 "best_confidence",
80 StatUnit::Percent,
81 self.best_confidence * 100.0,
82 ));
83 }
84}