use crate::structs::*;
use crate::enums::*;
pub fn get_key(car: &Car) -> [&Panel; 2] {
match car {
Car::Timid => [&Panel::Spd, &Panel::Atk],
Car::Sanguine => [&Panel::Spd, &Panel::MAtk],
Car::Impatience => [&Panel::Spd, &Panel::Dfe],
Car::Obtrusion => [&Panel::Spd, &Panel::MDfe],
Car::Enthusiasm => [&Panel::Spd, &Panel::Hp],
Car::Stubborn => [&Panel::Atk, &Panel::MAtk],
Car::Naughty => [&Panel::Atk, &Panel::Dfe],
Car::Bold => [&Panel::Atk, &Panel::MDfe],
Car::Overreach => [&Panel::Atk, &Panel::Hp],
Car::Brave => [&Panel::Atk, &Panel::Spd],
Car::Clever => [&Panel::MAtk, &Panel::Atk],
Car::Concentration => [&Panel::MAtk, &Panel::Dfe],
Car::Bigoted => [&Panel::MAtk, &Panel::MDfe],
Car::Rational => [&Panel::MAtk, &Panel::Hp],
Car::Calm => [&Panel::MAtk, &Panel::Spd],
Car::Stable => [&Panel::Dfe, &Panel::Atk],
Car::Innocent => [&Panel::Dfe, &Panel::MAtk],
Car::Indolent => [&Panel::Dfe, &Panel::MDfe],
Car::Frank => [&Panel::Dfe, &Panel::Hp],
Car::Leisure => [&Panel::Dfe, &Panel::Spd],
Car::Vigilant => [&Panel::MDfe, &Panel::Atk],
Car::Shy => [&Panel::MDfe, &Panel::MAtk],
Car::Meek => [&Panel::MDfe, &Panel::Dfe],
Car::Anxiety => [&Panel::MDfe, &Panel::Hp],
Car::Careful => [&Panel::MDfe, &Panel::Spd],
Car::Silence => [&Panel::Hp, &Panel::Atk],
Car::Peace => [&Panel::Hp, &Panel::MAtk],
Car::Melancholy => [&Panel::Hp, &Panel::Dfe],
Car::Careless => [&Panel::Hp, &Panel::MDfe],
Car::Sureness => [&Panel::Hp, &Panel::Spd],
}
}
pub fn get_field_mut<'a>(prop: &'a mut Six, key: &'a Panel) -> Option<&'a mut f32> {
match key {
Panel::Hp => Some(&mut prop.hp),
Panel::Atk => Some(&mut prop.atk),
Panel::MAtk => Some(&mut prop.m_atk),
Panel::Dfe => Some(&mut prop.dfe),
Panel::MDfe => Some(&mut prop.m_dfe),
Panel::Spd => Some(&mut prop.spd),
}
}