Skip to main content

subtr_actor/stats/analysis_graph/nodes/
rush.rs

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