subtr_actor/stats/analysis_graph/nodes/
territorial_pressure.rs1use 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}