use std::collections::HashSet;
use bevy_ecs::component::Component;
use serde::{Deserialize, Serialize};
use fe3o4::Id;
use crate::{game::Mat, Dice};
#[derive(Clone, Serialize, Deserialize, Component)]
#[cfg_attr(target_family = "wasm", derive(tsify_next::Tsify))]
#[cfg_attr(
target_family = "wasm",
tsify(into_wasm_abi, from_wasm_abi, large_number_types_as_bigints)
)]
pub struct Armor {
pub def: Dice,
pub layer: Vec<ArmorLayer>,
}
#[derive(Clone, Serialize, Deserialize)]
#[cfg_attr(target_family = "wasm", derive(tsify_next::Tsify))]
#[cfg_attr(
target_family = "wasm",
tsify(into_wasm_abi, from_wasm_abi, large_number_types_as_bigints)
)]
pub struct ArmorLayer {
pub mat: Id<Mat>,
pub cover: HashSet<String>,
pub rate: f32,
pub thickness: i16,
}