subtr-actor 0.5.0

Rocket League replay transformer
Documentation
use crate::*;

use super::*;

impl StatFieldProvider for PossessionStats {
    fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
        visitor(ExportedStat::float(
            "possession",
            "time",
            StatUnit::Seconds,
            self.tracked_time,
        ));
        for entry in &self.labeled_time.entries {
            visitor(ExportedStat::float_labeled(
                "possession",
                "time",
                StatUnit::Seconds,
                entry.labels.clone(),
                entry.value,
            ));
        }
        visitor(ExportedStat::float(
            "possession",
            "team_zero_time",
            StatUnit::Seconds,
            self.team_zero_time,
        ));
        visitor(ExportedStat::float(
            "possession",
            "team_one_time",
            StatUnit::Seconds,
            self.team_one_time,
        ));
        visitor(ExportedStat::float(
            "possession",
            "neutral_time",
            StatUnit::Seconds,
            self.neutral_time,
        ));
        visitor(ExportedStat::float(
            "possession",
            "team_zero_pct",
            StatUnit::Percent,
            self.team_zero_pct(),
        ));
        visitor(ExportedStat::float(
            "possession",
            "team_one_pct",
            StatUnit::Percent,
            self.team_one_pct(),
        ));
        visitor(ExportedStat::float(
            "possession",
            "neutral_pct",
            StatUnit::Percent,
            self.neutral_pct(),
        ));
    }
}

#[cfg(test)]
#[path = "possession_test.rs"]
mod tests;