subtr_actor/stats/analysis_graph/nodes/
rush.rs1use super::*;
2use crate::stats::calculators::*;
3use crate::*;
4
5pub struct RushNode {
7 calculator: RushCalculator,
8}
9
10impl RushNode {
11 pub fn new() -> Self {
12 Self::with_config(RushCalculatorConfig::default())
13 }
14
15 pub fn with_config(config: RushCalculatorConfig) -> Self {
16 Self {
17 calculator: RushCalculator::with_config(config),
18 }
19 }
20}
21
22impl_analysis_node! {
23 node = RushNode,
24 state = RushCalculator,
25 name = "rush",
26 emitted_events = crate::stats::calculators::RUSH_EMITTED_EVENTS,
27 dependencies = [
28 frame_info_dependency() => FrameInfo,
29 gameplay_state_dependency() => GameplayState,
30 ball_frame_state_dependency() => BallFrameState,
31 player_frame_state_dependency() => PlayerFrameState,
32 frame_events_state_dependency() => FrameEventsState,
33 possession_state_dependency() => PossessionState,
34 live_play_dependency() => LivePlayState,
35 ],
36 call = calculator.update_parts,
37 finish = calculator.finish_calculation,
38}