Skip to main content

subtr_actor/stats/export/
boost.rs

1use crate::*;
2
3use super::*;
4
5impl StatFieldProvider for BoostStats {
6    fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
7        visitor(ExportedStat::float(
8            "boost",
9            "bpm",
10            StatUnit::BoostPerMinute,
11            self.bpm(),
12        ));
13        visitor(ExportedStat::float(
14            "boost",
15            "avg_amount",
16            StatUnit::Boost,
17            self.average_boost_amount(),
18        ));
19        visitor(ExportedStat::float(
20            "boost",
21            "amount_collected",
22            StatUnit::Boost,
23            self.amount_collected,
24        ));
25        visitor(ExportedStat::float(
26            "boost",
27            "amount_stolen",
28            StatUnit::Boost,
29            self.amount_stolen,
30        ));
31        visitor(ExportedStat::float(
32            "boost",
33            "amount_collected_big",
34            StatUnit::Boost,
35            self.amount_collected_big,
36        ));
37        visitor(ExportedStat::float(
38            "boost",
39            "amount_stolen_big",
40            StatUnit::Boost,
41            self.amount_stolen_big,
42        ));
43        visitor(ExportedStat::float(
44            "boost",
45            "amount_collected_small",
46            StatUnit::Boost,
47            self.amount_collected_small,
48        ));
49        visitor(ExportedStat::float(
50            "boost",
51            "amount_stolen_small",
52            StatUnit::Boost,
53            self.amount_stolen_small,
54        ));
55        visitor(ExportedStat::float(
56            "boost",
57            "amount_respawned",
58            StatUnit::Boost,
59            self.amount_respawned,
60        ));
61        visitor(ExportedStat::unsigned(
62            "boost",
63            "count_collected_big",
64            StatUnit::Count,
65            self.big_pads_collected,
66        ));
67        visitor(ExportedStat::unsigned(
68            "boost",
69            "count_stolen_big",
70            StatUnit::Count,
71            self.big_pads_stolen,
72        ));
73        visitor(ExportedStat::unsigned(
74            "boost",
75            "count_collected_small",
76            StatUnit::Count,
77            self.small_pads_collected,
78        ));
79        visitor(ExportedStat::unsigned(
80            "boost",
81            "count_stolen_small",
82            StatUnit::Count,
83            self.small_pads_stolen,
84        ));
85        visitor(ExportedStat::float(
86            "boost",
87            "amount_overfill",
88            StatUnit::Boost,
89            self.overfill_total,
90        ));
91        visitor(ExportedStat::float(
92            "boost",
93            "amount_overfill_stolen",
94            StatUnit::Boost,
95            self.overfill_from_stolen,
96        ));
97        visitor(ExportedStat::float(
98            "boost",
99            "amount_used",
100            StatUnit::Boost,
101            self.amount_used,
102        ));
103        visitor(ExportedStat::float(
104            "boost",
105            "amount_used_while_grounded",
106            StatUnit::Boost,
107            self.amount_used_while_grounded,
108        ));
109        visitor(ExportedStat::float(
110            "boost",
111            "amount_used_while_airborne",
112            StatUnit::Boost,
113            self.amount_used_while_airborne,
114        ));
115        visitor(ExportedStat::float(
116            "boost",
117            "amount_used_while_supersonic",
118            StatUnit::Boost,
119            self.amount_used_while_supersonic,
120        ));
121        visitor(ExportedStat::float(
122            "boost",
123            "time_zero_boost",
124            StatUnit::Seconds,
125            self.time_zero_boost,
126        ));
127        visitor(ExportedStat::float(
128            "boost",
129            "time_full_boost",
130            StatUnit::Seconds,
131            self.time_hundred_boost,
132        ));
133        visitor(ExportedStat::float(
134            "boost",
135            "time_boost_0_25",
136            StatUnit::Seconds,
137            self.time_boost_0_25,
138        ));
139        visitor(ExportedStat::float(
140            "boost",
141            "time_boost_25_50",
142            StatUnit::Seconds,
143            self.time_boost_25_50,
144        ));
145        visitor(ExportedStat::float(
146            "boost",
147            "time_boost_50_75",
148            StatUnit::Seconds,
149            self.time_boost_50_75,
150        ));
151        visitor(ExportedStat::float(
152            "boost",
153            "time_boost_75_100",
154            StatUnit::Seconds,
155            self.time_boost_75_100,
156        ));
157        visitor(ExportedStat::float(
158            "boost",
159            "percent_zero_boost",
160            StatUnit::Percent,
161            self.zero_boost_pct(),
162        ));
163        visitor(ExportedStat::float(
164            "boost",
165            "percent_full_boost",
166            StatUnit::Percent,
167            self.hundred_boost_pct(),
168        ));
169        visitor(ExportedStat::float(
170            "boost",
171            "percent_boost_0_25",
172            StatUnit::Percent,
173            self.boost_0_25_pct(),
174        ));
175        visitor(ExportedStat::float(
176            "boost",
177            "percent_boost_25_50",
178            StatUnit::Percent,
179            self.boost_25_50_pct(),
180        ));
181        visitor(ExportedStat::float(
182            "boost",
183            "percent_boost_50_75",
184            StatUnit::Percent,
185            self.boost_50_75_pct(),
186        ));
187        visitor(ExportedStat::float(
188            "boost",
189            "percent_boost_75_100",
190            StatUnit::Percent,
191            self.boost_75_100_pct(),
192        ));
193    }
194}