subtr-actor 1.0.0

Rocket League replay transformer
Documentation
use super::*;

#[derive(Debug, Clone, Default)]
pub struct BackboardCalculator {
    events: EventStream<BackboardBounceEvent>,
}

impl BackboardCalculator {
    pub fn new() -> Self {
        Self::default()
    }

    pub fn events(&self) -> &[BackboardBounceEvent] {
        self.events.all()
    }

    pub fn new_events(&self) -> &[BackboardBounceEvent] {
        self.events.new_events()
    }

    pub fn update(
        &mut self,
        _frame: &FrameInfo,
        backboard_bounce_state: &BackboardBounceState,
    ) -> SubtrActorResult<()> {
        self.events.begin_update();
        self.events
            .extend(backboard_bounce_state.bounce_events.iter().cloned());
        Ok(())
    }
}