pub trait ProcessorView {
Show 49 methods
// Required methods
fn get_replay_meta(&self) -> SubtrActorResult<ReplayMeta>;
fn player_count(&self) -> usize;
fn iter_player_ids_in_order(
&self,
) -> Box<dyn Iterator<Item = &PlayerId> + '_>;
fn current_in_game_team_player_counts(&self) -> [usize; 2];
fn get_seconds_remaining(&self) -> SubtrActorResult<i32>;
fn get_replicated_state_name(&self) -> SubtrActorResult<i32>;
fn get_replicated_game_state_time_remaining(&self) -> SubtrActorResult<i32>;
fn get_ball_has_been_hit(&self) -> SubtrActorResult<bool>;
fn get_ignore_ball_syncing(&self) -> SubtrActorResult<bool>;
fn get_team_scores(&self) -> SubtrActorResult<(i32, i32)>;
fn get_ball_hit_team_num(&self) -> SubtrActorResult<u8>;
fn get_scored_on_team_num(&self) -> SubtrActorResult<u8>;
fn get_normalized_ball_rigid_body(&self) -> SubtrActorResult<RigidBody>;
fn get_velocity_applied_ball_rigid_body(
&self,
target_time: f32,
) -> SubtrActorResult<RigidBody>;
fn get_interpolated_ball_rigid_body(
&self,
target_time: f32,
close_enough_to_frame_time: f32,
) -> SubtrActorResult<RigidBody>;
fn get_normalized_player_rigid_body(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<RigidBody>;
fn get_velocity_applied_player_rigid_body(
&self,
player_id: &PlayerId,
target_time: f32,
) -> SubtrActorResult<RigidBody>;
fn get_interpolated_player_rigid_body(
&self,
player_id: &PlayerId,
target_time: f32,
close_enough_to_frame_time: f32,
) -> SubtrActorResult<RigidBody>;
fn get_player_name(&self, player_id: &PlayerId) -> SubtrActorResult<String>;
fn get_player_team_key(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<String>;
fn get_player_is_team_0(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<bool>;
fn get_player_id_from_car_id(
&self,
actor_id: &ActorId,
) -> SubtrActorResult<PlayerId>;
fn get_player_boost_level(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<f32>;
fn get_player_last_boost_level(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<f32>;
fn get_player_boost_percentage(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<f32>;
fn get_boost_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>;
fn get_jump_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>;
fn get_double_jump_active(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<u8>;
fn get_dodge_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>;
fn get_powerslide_active(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<bool>;
fn get_player_match_assists(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<i32>;
fn get_player_match_goals(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<i32>;
fn get_player_match_saves(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<i32>;
fn get_player_match_score(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<i32>;
fn get_player_match_shots(
&self,
player_id: &PlayerId,
) -> SubtrActorResult<i32>;
fn get_active_demos(&self) -> SubtrActorResult<Vec<DemolishAttribute>>;
fn demolishes(&self) -> &[DemolishInfo];
fn boost_pad_events(&self) -> &[BoostPadEvent];
fn touch_events(&self) -> &[TouchEvent];
fn dodge_refreshed_events(&self) -> &[DodgeRefreshedEvent];
fn player_stat_events(&self) -> &[PlayerStatEvent];
fn goal_events(&self) -> &[GoalEvent];
fn current_frame_boost_pad_events(&self) -> &[BoostPadEvent];
fn current_frame_touch_events(&self) -> &[TouchEvent];
fn current_frame_dodge_refreshed_events(&self) -> &[DodgeRefreshedEvent];
fn current_frame_player_stat_events(&self) -> &[PlayerStatEvent];
fn current_frame_goal_events(&self) -> &[GoalEvent];
// Provided methods
fn current_frame_active_demo_events(&self) -> &[DemoEventSample] { ... }
fn current_frame_demolish_events(&self) -> &[DemolishInfo] { ... }
}Expand description
Read-only processor surface consumed by collectors and stat calculators.
ReplayProcessor still owns replay traversal and actor-state mutation, but
collectors should depend on this trait so the same collection pipeline can
later be driven by non-replay state sources.
Required Methods§
fn get_replay_meta(&self) -> SubtrActorResult<ReplayMeta>
fn player_count(&self) -> usize
fn iter_player_ids_in_order(&self) -> Box<dyn Iterator<Item = &PlayerId> + '_>
fn current_in_game_team_player_counts(&self) -> [usize; 2]
fn get_seconds_remaining(&self) -> SubtrActorResult<i32>
fn get_replicated_state_name(&self) -> SubtrActorResult<i32>
fn get_replicated_game_state_time_remaining(&self) -> SubtrActorResult<i32>
fn get_ball_has_been_hit(&self) -> SubtrActorResult<bool>
fn get_ignore_ball_syncing(&self) -> SubtrActorResult<bool>
fn get_team_scores(&self) -> SubtrActorResult<(i32, i32)>
fn get_ball_hit_team_num(&self) -> SubtrActorResult<u8>
fn get_scored_on_team_num(&self) -> SubtrActorResult<u8>
fn get_normalized_ball_rigid_body(&self) -> SubtrActorResult<RigidBody>
fn get_velocity_applied_ball_rigid_body( &self, target_time: f32, ) -> SubtrActorResult<RigidBody>
fn get_interpolated_ball_rigid_body( &self, target_time: f32, close_enough_to_frame_time: f32, ) -> SubtrActorResult<RigidBody>
fn get_normalized_player_rigid_body( &self, player_id: &PlayerId, ) -> SubtrActorResult<RigidBody>
fn get_velocity_applied_player_rigid_body( &self, player_id: &PlayerId, target_time: f32, ) -> SubtrActorResult<RigidBody>
fn get_interpolated_player_rigid_body( &self, player_id: &PlayerId, target_time: f32, close_enough_to_frame_time: f32, ) -> SubtrActorResult<RigidBody>
fn get_player_name(&self, player_id: &PlayerId) -> SubtrActorResult<String>
fn get_player_team_key(&self, player_id: &PlayerId) -> SubtrActorResult<String>
fn get_player_is_team_0(&self, player_id: &PlayerId) -> SubtrActorResult<bool>
fn get_player_id_from_car_id( &self, actor_id: &ActorId, ) -> SubtrActorResult<PlayerId>
fn get_player_boost_level(&self, player_id: &PlayerId) -> SubtrActorResult<f32>
fn get_player_last_boost_level( &self, player_id: &PlayerId, ) -> SubtrActorResult<f32>
fn get_player_boost_percentage( &self, player_id: &PlayerId, ) -> SubtrActorResult<f32>
fn get_boost_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>
fn get_jump_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>
fn get_double_jump_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>
fn get_dodge_active(&self, player_id: &PlayerId) -> SubtrActorResult<u8>
fn get_powerslide_active(&self, player_id: &PlayerId) -> SubtrActorResult<bool>
fn get_player_match_assists( &self, player_id: &PlayerId, ) -> SubtrActorResult<i32>
fn get_player_match_goals(&self, player_id: &PlayerId) -> SubtrActorResult<i32>
fn get_player_match_saves(&self, player_id: &PlayerId) -> SubtrActorResult<i32>
fn get_player_match_score(&self, player_id: &PlayerId) -> SubtrActorResult<i32>
fn get_player_match_shots(&self, player_id: &PlayerId) -> SubtrActorResult<i32>
fn get_active_demos(&self) -> SubtrActorResult<Vec<DemolishAttribute>>
fn demolishes(&self) -> &[DemolishInfo]
fn boost_pad_events(&self) -> &[BoostPadEvent]
fn touch_events(&self) -> &[TouchEvent]
fn dodge_refreshed_events(&self) -> &[DodgeRefreshedEvent]
fn player_stat_events(&self) -> &[PlayerStatEvent]
fn goal_events(&self) -> &[GoalEvent]
fn current_frame_boost_pad_events(&self) -> &[BoostPadEvent]
fn current_frame_touch_events(&self) -> &[TouchEvent]
fn current_frame_dodge_refreshed_events(&self) -> &[DodgeRefreshedEvent]
fn current_frame_player_stat_events(&self) -> &[PlayerStatEvent]
fn current_frame_goal_events(&self) -> &[GoalEvent]
Provided Methods§
fn current_frame_active_demo_events(&self) -> &[DemoEventSample]
fn current_frame_demolish_events(&self) -> &[DemolishInfo]
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".