#[cfg(feature = "dep_arrow")]
use arrow_convert::{ArrowDeserialize, ArrowField, ArrowSerialize};
use crate::tracker_events::UpgradeEvent;
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[cfg_attr(
feature = "dep_arrow",
derive(ArrowField, ArrowSerialize, ArrowDeserialize)
)]
pub struct UpgradeEventFlatRow {
pub player_id: u8,
pub name: String,
pub count: i32,
pub ext_replay_loop: i64,
pub ext_replay_seconds: u32,
pub ext_fs_id: u64,
}
impl UpgradeEventFlatRow {
pub fn new(
event: UpgradeEvent,
ext_replay_loop: i64,
details: crate::details::Details,
) -> Self {
let ext_replay_seconds = crate::convert_tracker_loop_to_seconds(ext_replay_loop);
Self {
player_id: event.player_id,
name: event.upgrade_type_name,
count: event.count,
ext_replay_loop,
ext_replay_seconds,
ext_fs_id: details.ext_fs_id,
}
}
}