- pub fn update(&mut self, dt: Nanoseconds) {
- self.mov.update(&self.device, dt, 0, 1); // left stick
- self.aim.update(&self.device, dt, 3, 4); // right stick
- self.jump.update(&self.device, dt, 4); // left shoulder
- self.shoot.update(&self.device, dt, 5); // right shoulder
- self.start.update(&self.device, dt, 9); // start
+ fn set_mapping(&mut self, action: &HashMap<ActionControls, DeviceControls>, device: &HashMap<DeviceControls, u8>) {
+ self.mov.idx = *action.get(&MovementX).map(|i| device.get(i)).flatten().unwrap();
+ self.mov.idy = *action.get(&MovementY).map(|i| device.get(i)).flatten().unwrap();
+ self.aim.idx = *action.get(&AimX).map(|i| device.get(i)).flatten().unwrap();
+ self.aim.idy = *action.get(&AimY).map(|i| device.get(i)).flatten().unwrap();
+ self.jump.id = *action.get(&Jump).map(|i| device.get(i)).flatten().unwrap();
+ self.shoot.id = *action.get(&Shoot).map(|i| device.get(i)).flatten().unwrap();
+ self.start.id = *action.get(&Start).map(|i| device.get(i)).flatten().unwrap();
+ }
+
+ pub fn update(&mut self, dt: Duration) {
+ self.mov.update(&self.device, dt);
+ self.aim.update(&self.device, dt);
+ self.jump.update(&self.device, dt);
+ self.shoot.update(&self.device, dt);
+ self.start.update(&self.device, dt);