subtr_actor/stats/calculators/
backboard.rs1use super::*;
2
3#[derive(Debug, Clone, Default)]
5pub struct BackboardCalculator {
6 events: EventStream<BackboardBounceEvent>,
7}
8
9impl BackboardCalculator {
10 pub fn new() -> Self {
11 Self::default()
12 }
13
14 pub fn events(&self) -> &[BackboardBounceEvent] {
15 self.events.all()
16 }
17
18 pub fn new_events(&self) -> &[BackboardBounceEvent] {
19 self.events.new_events()
20 }
21
22 pub fn update(
23 &mut self,
24 _frame: &FrameInfo,
25 backboard_bounce_state: &BackboardBounceState,
26 ) -> SubtrActorResult<()> {
27 self.events.begin_update();
28 self.events
29 .extend(backboard_bounce_state.bounce_events.iter().cloned());
30 Ok(())
31 }
32}