subtr-actor 0.5.0

Rocket League replay transformer
Documentation
use crate::*;

use super::*;

impl StatFieldProvider for BallCarryStats {
    fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
        visitor(ExportedStat::unsigned(
            "ball_carry",
            "count",
            StatUnit::Count,
            self.carry_count,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "total_time",
            StatUnit::Seconds,
            self.total_carry_time,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_time",
            StatUnit::Seconds,
            self.average_carry_time(),
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "longest_time",
            StatUnit::Seconds,
            self.longest_carry_time,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "total_straight_line_distance",
            StatUnit::UnrealUnits,
            self.total_straight_line_distance,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_straight_line_distance",
            StatUnit::UnrealUnits,
            self.average_straight_line_distance(),
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "furthest_straight_line_distance",
            StatUnit::UnrealUnits,
            self.furthest_carry_distance,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "total_path_distance",
            StatUnit::UnrealUnits,
            self.total_path_distance,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_path_distance",
            StatUnit::UnrealUnits,
            self.average_path_distance(),
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_speed",
            StatUnit::UnrealUnitsPerSecond,
            self.average_carry_speed(),
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "fastest_avg_speed",
            StatUnit::UnrealUnitsPerSecond,
            self.fastest_carry_speed,
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_horizontal_gap",
            StatUnit::UnrealUnits,
            self.average_horizontal_gap(),
        ));
        visitor(ExportedStat::float(
            "ball_carry",
            "avg_vertical_gap",
            StatUnit::UnrealUnits,
            self.average_vertical_gap(),
        ));
    }
}