Skip to main content

subtr_actor/stats/analysis_graph/nodes/
player_vertical_state.rs

1use super::*;
2use crate::stats::calculators::*;
3use crate::*;
4
5/// Tracks per-player airborne/vertical state derived from player frame state.
6pub struct PlayerVerticalStateNode {
7    calculator: PlayerVerticalStateCalculator,
8    state: PlayerVerticalState,
9}
10
11impl PlayerVerticalStateNode {
12    pub fn new() -> Self {
13        Self {
14            calculator: PlayerVerticalStateCalculator::new(),
15            state: PlayerVerticalState::default(),
16        }
17    }
18}
19
20impl_analysis_node! {
21    node = PlayerVerticalStateNode,
22    state = PlayerVerticalState,
23    name = "player_vertical_state",
24    dependencies = [player_frame_state_dependency() => PlayerFrameState],
25    update_state = calculator.update,
26}