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_collected_inactive",
28            StatUnit::Boost,
29            self.amount_collected_inactive,
30        ));
31        visitor(ExportedStat::unsigned(
32            "boost",
33            "count_collected_inactive_big",
34            StatUnit::Count,
35            self.big_pads_collected_inactive,
36        ));
37        visitor(ExportedStat::unsigned(
38            "boost",
39            "count_collected_inactive_small",
40            StatUnit::Count,
41            self.small_pads_collected_inactive,
42        ));
43        visitor(ExportedStat::float(
44            "boost",
45            "amount_stolen",
46            StatUnit::Boost,
47            self.amount_stolen,
48        ));
49        visitor(ExportedStat::float(
50            "boost",
51            "amount_collected_big",
52            StatUnit::Boost,
53            self.amount_collected_big,
54        ));
55        visitor(ExportedStat::float(
56            "boost",
57            "amount_stolen_big",
58            StatUnit::Boost,
59            self.amount_stolen_big,
60        ));
61        visitor(ExportedStat::float(
62            "boost",
63            "amount_collected_small",
64            StatUnit::Boost,
65            self.amount_collected_small,
66        ));
67        visitor(ExportedStat::float(
68            "boost",
69            "amount_stolen_small",
70            StatUnit::Boost,
71            self.amount_stolen_small,
72        ));
73        visitor(ExportedStat::float(
74            "boost",
75            "amount_respawned",
76            StatUnit::Boost,
77            self.amount_respawned,
78        ));
79        visitor(ExportedStat::unsigned(
80            "boost",
81            "count_collected_big",
82            StatUnit::Count,
83            self.big_pads_collected,
84        ));
85        visitor(ExportedStat::unsigned(
86            "boost",
87            "count_stolen_big",
88            StatUnit::Count,
89            self.big_pads_stolen,
90        ));
91        visitor(ExportedStat::unsigned(
92            "boost",
93            "count_collected_small",
94            StatUnit::Count,
95            self.small_pads_collected,
96        ));
97        visitor(ExportedStat::unsigned(
98            "boost",
99            "count_stolen_small",
100            StatUnit::Count,
101            self.small_pads_stolen,
102        ));
103        visitor(ExportedStat::float(
104            "boost",
105            "amount_overfill",
106            StatUnit::Boost,
107            self.overfill_total,
108        ));
109        visitor(ExportedStat::float(
110            "boost",
111            "amount_overfill_stolen",
112            StatUnit::Boost,
113            self.overfill_from_stolen,
114        ));
115        visitor(ExportedStat::float(
116            "boost",
117            "amount_used",
118            StatUnit::Boost,
119            self.amount_used,
120        ));
121        visitor(ExportedStat::float(
122            "boost",
123            "amount_used_while_grounded",
124            StatUnit::Boost,
125            self.amount_used_while_grounded,
126        ));
127        visitor(ExportedStat::float(
128            "boost",
129            "amount_used_while_airborne",
130            StatUnit::Boost,
131            self.amount_used_while_airborne,
132        ));
133        visitor(ExportedStat::float(
134            "boost",
135            "amount_used_while_supersonic",
136            StatUnit::Boost,
137            self.amount_used_while_supersonic,
138        ));
139        visitor(ExportedStat::float(
140            "boost",
141            "time_zero_boost",
142            StatUnit::Seconds,
143            self.time_zero_boost,
144        ));
145        visitor(ExportedStat::float(
146            "boost",
147            "time_full_boost",
148            StatUnit::Seconds,
149            self.time_hundred_boost,
150        ));
151        visitor(ExportedStat::float(
152            "boost",
153            "time_boost_0_25",
154            StatUnit::Seconds,
155            self.time_boost_0_25,
156        ));
157        visitor(ExportedStat::float(
158            "boost",
159            "time_boost_25_50",
160            StatUnit::Seconds,
161            self.time_boost_25_50,
162        ));
163        visitor(ExportedStat::float(
164            "boost",
165            "time_boost_50_75",
166            StatUnit::Seconds,
167            self.time_boost_50_75,
168        ));
169        visitor(ExportedStat::float(
170            "boost",
171            "time_boost_75_100",
172            StatUnit::Seconds,
173            self.time_boost_75_100,
174        ));
175        visitor(ExportedStat::float(
176            "boost",
177            "percent_zero_boost",
178            StatUnit::Percent,
179            self.zero_boost_pct(),
180        ));
181        visitor(ExportedStat::float(
182            "boost",
183            "percent_full_boost",
184            StatUnit::Percent,
185            self.hundred_boost_pct(),
186        ));
187        visitor(ExportedStat::float(
188            "boost",
189            "percent_boost_0_25",
190            StatUnit::Percent,
191            self.boost_0_25_pct(),
192        ));
193        visitor(ExportedStat::float(
194            "boost",
195            "percent_boost_25_50",
196            StatUnit::Percent,
197            self.boost_25_50_pct(),
198        ));
199        visitor(ExportedStat::float(
200            "boost",
201            "percent_boost_50_75",
202            StatUnit::Percent,
203            self.boost_50_75_pct(),
204        ));
205        visitor(ExportedStat::float(
206            "boost",
207            "percent_boost_75_100",
208            StatUnit::Percent,
209            self.boost_75_100_pct(),
210        ));
211    }
212}