subtr_actor/stats/export/
flick.rs1use crate::*;
2
3use super::*;
4
5impl StatFieldProvider for FlickStats {
6 fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
7 visitor(ExportedStat::unsigned(
8 "flick",
9 "count",
10 StatUnit::Count,
11 self.count,
12 ));
13 visitor(ExportedStat::unsigned(
14 "flick",
15 "high_confidence_count",
16 StatUnit::Count,
17 self.high_confidence_count,
18 ));
19 visitor(ExportedStat::unsigned(
20 "flick",
21 "is_last_flick",
22 StatUnit::Count,
23 u32::from(self.is_last_flick),
24 ));
25 if let Some(value) = self.last_flick_time {
26 visitor(ExportedStat::float(
27 "flick",
28 "last_flick_time",
29 StatUnit::Seconds,
30 value,
31 ));
32 }
33 if let Some(value) = self.last_flick_frame {
34 visitor(ExportedStat::unsigned(
35 "flick",
36 "last_flick_frame",
37 StatUnit::Count,
38 u32::try_from(value).unwrap_or(u32::MAX),
39 ));
40 }
41 if let Some(value) = self.time_since_last_flick {
42 visitor(ExportedStat::float(
43 "flick",
44 "time_since_last_flick",
45 StatUnit::Seconds,
46 value,
47 ));
48 }
49 if let Some(value) = self.frames_since_last_flick {
50 visitor(ExportedStat::unsigned(
51 "flick",
52 "frames_since_last_flick",
53 StatUnit::Count,
54 u32::try_from(value).unwrap_or(u32::MAX),
55 ));
56 }
57 if let Some(value) = self.last_confidence {
58 visitor(ExportedStat::float(
59 "flick",
60 "last_confidence",
61 StatUnit::Percent,
62 value * 100.0,
63 ));
64 }
65 visitor(ExportedStat::float(
66 "flick",
67 "average_confidence",
68 StatUnit::Percent,
69 self.average_confidence() * 100.0,
70 ));
71 visitor(ExportedStat::float(
72 "flick",
73 "best_confidence",
74 StatUnit::Percent,
75 self.best_confidence * 100.0,
76 ));
77 visitor(ExportedStat::float(
78 "flick",
79 "average_setup_duration",
80 StatUnit::Seconds,
81 self.average_setup_duration(),
82 ));
83 visitor(ExportedStat::float(
84 "flick",
85 "average_ball_speed_change",
86 StatUnit::UnrealUnitsPerSecond,
87 self.average_ball_speed_change(),
88 ));
89 for entry in self.complete_labeled_event_counts().entries {
90 visitor(ExportedStat::unsigned_labeled(
91 "flick",
92 "count",
93 StatUnit::Count,
94 entry.labels,
95 entry.count,
96 ));
97 }
98 }
99}