Skip to main content

subtr_actor/stats/export/
musty_flick.rs

1use 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}