#[cfg(feature = "dep_arrow")]
use arrow_convert::{ArrowDeserialize, ArrowField, ArrowSerialize};
use crate::filters::SC2ReplayFilters;
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[cfg_attr(
feature = "dep_arrow",
derive(ArrowField, ArrowSerialize, ArrowDeserialize)
)]
pub struct UnitDiedEvent {
pub unit_tag_index: u32,
pub unit_tag_recycle: u32,
pub killer_player_id: Option<u8>,
pub x: u8,
pub y: u8,
pub killer_unit_tag_index: Option<u32>,
pub killer_unit_tag_recycle: Option<u32>,
}
impl UnitDiedEvent {
pub fn should_skip(&self, filters: &SC2ReplayFilters) -> bool {
if let Some(player_id) = filters.player_id
&& self.killer_player_id != Some(player_id)
{
return true;
}
false
}
}