generated from 2ndbeam/bevy-template
refactor: Non-breaking refactor
- Everything should work as before - Added blank submodules in layout - Added blank submodules in player - Moved inventory::ui submodule to ui::inventory - Added blank submodules in ui::inventory - Re-exported ui::inventory as inventory::ui for temporary compatibility - Split tests submodules into different files
This commit is contained in:
parent
d65ca6fe97
commit
3094a8af13
14 changed files with 880 additions and 872 deletions
75
src/tests/input.rs
Normal file
75
src/tests/input.rs
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
use super::super::*;
|
||||
use leafwing_input_manager::prelude::*;
|
||||
#[derive(Actionlike, Reflect, Clone, Debug, PartialEq, Eq, Hash, Default)]
|
||||
enum Action {
|
||||
#[default]
|
||||
#[actionlike(DualAxis)]
|
||||
DualAxis,
|
||||
#[actionlike(Axis)]
|
||||
SingleAxis,
|
||||
Button,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn asset_from_map() {
|
||||
let mut input_map = InputMap::default();
|
||||
input_map.insert(Action::Button, KeyCode::KeyE);
|
||||
input_map.insert(Action::Button, GamepadButton::East);
|
||||
|
||||
input_map.insert_axis(Action::SingleAxis, GamepadAxis::LeftStickX);
|
||||
input_map.insert_axis(Action::SingleAxis, VirtualAxis::ad());
|
||||
|
||||
input_map.insert_dual_axis(Action::DualAxis, GamepadStick::RIGHT);
|
||||
input_map.insert_dual_axis(Action::DualAxis, VirtualDPad::wasd());
|
||||
|
||||
let mut expected_input_asset = input::InputAsset::default();
|
||||
expected_input_asset.insert(Action::Button, input::MultiInput {
|
||||
keyboard: Some(vec![KeyCode::KeyE]),
|
||||
gamepad: Some(vec![GamepadButton::East]),
|
||||
mouse: None,
|
||||
}.into());
|
||||
expected_input_asset.insert(Action::SingleAxis, input::InputKind::Axis(vec![
|
||||
Box::new(GamepadAxis::LeftStickX),
|
||||
Box::new(VirtualAxis::ad()),
|
||||
]));
|
||||
expected_input_asset.insert(Action::DualAxis, input::InputKind::DualAxis(vec![
|
||||
Box::new(GamepadStick::RIGHT),
|
||||
Box::new(VirtualDPad::wasd()),
|
||||
]));
|
||||
|
||||
let input_asset = input::InputAsset::from(input_map);
|
||||
|
||||
assert_eq!(input_asset, expected_input_asset);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn map_from_asset() {
|
||||
let mut input_asset = input::InputAsset::default();
|
||||
input_asset.insert(Action::Button, input::MultiInput {
|
||||
keyboard: Some(vec![KeyCode::KeyE]),
|
||||
gamepad: Some(vec![GamepadButton::East]),
|
||||
mouse: None,
|
||||
}.into());
|
||||
input_asset.insert(Action::SingleAxis, input::InputKind::Axis(vec![
|
||||
Box::new(GamepadAxis::LeftStickX),
|
||||
Box::new(VirtualAxis::ad()),
|
||||
]));
|
||||
input_asset.insert(Action::DualAxis, input::InputKind::DualAxis(vec![
|
||||
Box::new(GamepadStick::RIGHT),
|
||||
Box::new(VirtualDPad::wasd()),
|
||||
]));
|
||||
|
||||
let mut expected_input_map = InputMap::default();
|
||||
expected_input_map.insert(Action::Button, KeyCode::KeyE);
|
||||
expected_input_map.insert(Action::Button, GamepadButton::East);
|
||||
|
||||
expected_input_map.insert_axis(Action::SingleAxis, GamepadAxis::LeftStickX);
|
||||
expected_input_map.insert_axis(Action::SingleAxis, VirtualAxis::ad());
|
||||
|
||||
expected_input_map.insert_dual_axis(Action::DualAxis, GamepadStick::RIGHT);
|
||||
expected_input_map.insert_dual_axis(Action::DualAxis, VirtualDPad::wasd());
|
||||
|
||||
let input_map = InputMap::from(input_asset);
|
||||
|
||||
assert_eq!(input_map, expected_input_map);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue