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:
Alexey 2026-03-19 12:36:51 +03:00
commit 3094a8af13
14 changed files with 880 additions and 872 deletions

75
src/tests/input.rs Normal file
View 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);
}