use crate::control_scheme::ControlScheme;
use bevy_ecs::system::Resource;
use std::collections::HashMap;
#[derive(PartialEq, Debug, Clone, Resource, Default)]
pub struct MultiScheme {
map: HashMap<usize, ControlScheme>,
}
impl MultiScheme {
pub fn new() -> Self {
let map = HashMap::new();
Self { map }
}
pub fn get(&self, id: usize) -> Option<&ControlScheme> {
self.map.get(&id)
}
pub fn insert(&mut self, id: usize, control_scheme: ControlScheme) {
self.map.insert(id, control_scheme);
}
pub fn remove(&mut self, id: usize) {
self.map.remove(&id);
}
pub fn keys(&self) -> std::collections::hash_map::Keys<'_, usize, ControlScheme> {
self.map.keys()
}
}