use crate::constants::text::DEFAULT_NAME;
#[derive(Debug)]
pub struct SaveData {
pub name: String, pub experience: u16, pub gold: u16, pub weapon: u8, pub armor: u8, pub shield: u8, pub items: [u8; 8], pub herbs: u8, pub keys: u8, pub has_dragon_scale: bool, pub has_warrior_ring: bool, pub has_cursed_necklace: bool, pub defeated_dragon: bool, pub defeated_golem: bool, pub pattern: u8, }
impl Default for SaveData {
fn default() -> Self {
Self {
name: DEFAULT_NAME.to_string(),
experience: 0,
gold: 0,
weapon: 0,
armor: 0,
shield: 0,
items: [0; 8],
herbs: 0,
keys: 0,
has_dragon_scale: false,
has_warrior_ring: false,
has_cursed_necklace: false,
defeated_dragon: false,
defeated_golem: false,
pattern: 0,
}
}
}
pub struct SaveDataArgs {
pub name: Option<String>,
pub experience: Option<u16>,
pub gold: Option<u16>,
pub weapon: Option<u8>,
pub armor: Option<u8>,
pub shield: Option<u8>,
pub items: Option<[u8; 8]>,
pub herbs: Option<u8>,
pub keys: Option<u8>,
pub has_dragon_scale: Option<bool>,
pub has_warrior_ring: Option<bool>,
pub has_cursed_necklace: Option<bool>,
pub defeated_dragon: Option<bool>,
pub defeated_golem: Option<bool>,
pub pattern: Option<u8>,
}
impl Default for SaveDataArgs {
fn default() -> Self {
Self {
name: None,
experience: None,
gold: None,
weapon: None,
armor: None,
shield: None,
items: None,
herbs: None,
keys: None,
has_dragon_scale: None,
has_warrior_ring: None,
has_cursed_necklace: None,
defeated_dragon: None,
defeated_golem: None,
pattern: None,
}
}
}