subtr-actor 1.0.0

Rocket League replay transformer
Documentation
use crate::*;

use super::*;

impl StatFieldProvider for KickoffStats {
    fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
        visitor(ExportedStat::unsigned(
            "kickoff",
            "count",
            StatUnit::Count,
            self.count,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_zero_wins",
            StatUnit::Count,
            self.team_zero_wins,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_one_wins",
            StatUnit::Count,
            self.team_one_wins,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "neutral_outcomes",
            StatUnit::Count,
            self.neutral_outcomes,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_zero_kickoff_possessions",
            StatUnit::Count,
            self.team_zero_kickoff_possessions,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_one_kickoff_possessions",
            StatUnit::Count,
            self.team_one_kickoff_possessions,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_zero_kickoff_possession_advantages",
            StatUnit::Count,
            self.team_zero_kickoff_possession_advantages,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_one_kickoff_possession_advantages",
            StatUnit::Count,
            self.team_one_kickoff_possession_advantages,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "contested_kickoff_possessions",
            StatUnit::Count,
            self.contested_kickoff_possessions,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "kickoff_goal_count",
            StatUnit::Count,
            self.kickoff_goal_count,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_zero_kickoff_goals",
            StatUnit::Count,
            self.team_zero_kickoff_goals,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "team_one_kickoff_goals",
            StatUnit::Count,
            self.team_one_kickoff_goals,
        ));
        visitor(ExportedStat::float(
            "kickoff",
            "average_win_strength",
            StatUnit::Count,
            self.average_win_strength(),
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "boost_after_sample_count",
            StatUnit::Count,
            self.boost_after_sample_count,
        ));
        visitor(ExportedStat::float(
            "kickoff",
            "average_boost_after",
            StatUnit::Boost,
            self.average_boost_after(),
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "fake_count",
            StatUnit::Count,
            self.fake_count,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "missed_count",
            StatUnit::Count,
            self.missed_count,
        ));
        for entry in self.complete_labeled_event_counts().entries {
            visitor(ExportedStat::unsigned_labeled(
                "kickoff",
                "count",
                StatUnit::Count,
                entry.labels,
                entry.count,
            ));
        }
        for entry in self.complete_labeled_player_counts().entries {
            visitor(ExportedStat::unsigned_labeled(
                "kickoff",
                "player_count",
                StatUnit::Count,
                entry.labels,
                entry.count,
            ));
        }
    }
}

impl StatFieldProvider for KickoffPlayerStats {
    fn visit_stat_fields(&self, visitor: &mut dyn FnMut(ExportedStat)) {
        visitor(ExportedStat::unsigned(
            "kickoff",
            "count",
            StatUnit::Count,
            self.count,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "touches",
            StatUnit::Count,
            self.touches,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "fakes",
            StatUnit::Count,
            self.fakes,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "misses",
            StatUnit::Count,
            self.misses,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "support_go_for_boosts",
            StatUnit::Count,
            self.support_go_for_boosts,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "support_cheats",
            StatUnit::Count,
            self.support_cheats,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "support_other",
            StatUnit::Count,
            self.support_other,
        ));
        visitor(ExportedStat::unsigned(
            "kickoff",
            "kickoff_goal_count",
            StatUnit::Count,
            self.kickoff_goal_count,
        ));
        visitor(ExportedStat::float(
            "kickoff",
            "average_boost_after",
            StatUnit::Boost,
            self.average_boost_after(),
        ));
    }
}