pub use crate::cat::data::unitexplanation::{UnitExplanation, UnitExplanationError};
pub use crate::cat::data::unitid::{Battle, BattleError};
pub use crate::cat::data::unitlevel::{LevelCurve, LevelError};
pub use crate::cat::data::skillacquisition::{Talent, TalentGroup, SkillAcquisitionError};
pub use crate::cat::data::unitbuy::{UnitBuy, UnitBuyError};
pub use crate::cat::data::unitevolve::{UnitEvolve, UnitEvolveError};
pub use crate::cat::data::skilllevel::{TalentCost, SkillLevelError};
pub use crate::cat::data::skilldescriptions::{SkillDescriptions, SkillDescriptionsError};
use std::collections::BTreeMap;
#[derive(Debug, Clone, Default, serde::Serialize, serde::Deserialize)]
pub struct Unit {
pub id: u16,
pub names: [Option<String>; 4],
pub descriptions: [Option<Vec<String>>; 4],
pub battle: [Option<Battle>; 4],
pub attack_frames: [Option<i32>; 4],
pub egg_ids: Option<(u16, u16)>,
pub level_curve: Option<LevelCurve>,
pub talents: Option<Talent>,
pub unitbuy: UnitBuy,
pub evolve_text: [Option<Vec<String>>; 4],
pub talent_costs: BTreeMap<u8, TalentCost>,
pub skill_descriptions: Vec<String>,
}