subtr-actor 0.11.0

Rocket League replay transformer
Documentation
use super::*;
use crate::stats::calculators::*;
use crate::*;

pub struct TerritorialPressureNode {
    calculator: TerritorialPressureCalculator,
}

impl TerritorialPressureNode {
    pub fn new() -> Self {
        Self::with_config(TerritorialPressureCalculatorConfig::default())
    }

    pub fn with_config(config: TerritorialPressureCalculatorConfig) -> Self {
        Self {
            calculator: TerritorialPressureCalculator::with_config(config),
        }
    }
}

impl_analysis_node! {
    node = TerritorialPressureNode,
    state = TerritorialPressureCalculator,
    name = "territorial_pressure",
    dependencies = [
        frame_info_dependency() => FrameInfo,
        ball_frame_state_dependency() => BallFrameState,
        possession_state_dependency() => PossessionState,
        live_play_dependency() => LivePlayState,
    ],
    call = calculator.update,
    finish = calculator.finish,
}