Skip to main content

subtr_actor/stats/analysis_graph/nodes/
territorial_pressure.rs

1use super::*;
2use crate::stats::calculators::*;
3use crate::*;
4
5pub struct TerritorialPressureNode {
6    calculator: TerritorialPressureCalculator,
7}
8
9impl TerritorialPressureNode {
10    pub fn new() -> Self {
11        Self::with_config(TerritorialPressureCalculatorConfig::default())
12    }
13
14    pub fn with_config(config: TerritorialPressureCalculatorConfig) -> Self {
15        Self {
16            calculator: TerritorialPressureCalculator::with_config(config),
17        }
18    }
19}
20
21impl_analysis_node! {
22    node = TerritorialPressureNode,
23    state = TerritorialPressureCalculator,
24    name = "territorial_pressure",
25    dependencies = [
26        frame_info_dependency() => FrameInfo,
27        ball_frame_state_dependency() => BallFrameState,
28        possession_state_dependency() => PossessionState,
29        live_play_dependency() => LivePlayState,
30    ],
31    call = calculator.update,
32    finish = calculator.finish,
33}