refactor!: Split everything into submodules

- Bump version to 0.2.0
- Split every module to systems, observers, plugins, etc
- Renamed Crate to Container
- Removed Wall component
- Removed try_insert_item system
- Removed inventory::ui module
This commit is contained in:
Alexey 2026-03-19 14:23:26 +03:00
commit 7c386d4128
20 changed files with 830 additions and 772 deletions

View file

@ -1,4 +1,5 @@
use super::super::*;
use crate::input::plugin::*;
use leafwing_input_manager::prelude::*;
#[derive(Actionlike, Reflect, Clone, Debug, PartialEq, Eq, Hash, Default)]
enum Action {
@ -22,39 +23,39 @@ fn asset_from_map() {
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 {
let mut expected_input_asset = InputAsset::default();
expected_input_asset.insert(Action::Button, MultiInput {
keyboard: Some(vec![KeyCode::KeyE]),
gamepad: Some(vec![GamepadButton::East]),
mouse: None,
}.into());
expected_input_asset.insert(Action::SingleAxis, input::InputKind::Axis(vec![
expected_input_asset.insert(Action::SingleAxis, InputKind::Axis(vec![
Box::new(GamepadAxis::LeftStickX),
Box::new(VirtualAxis::ad()),
]));
expected_input_asset.insert(Action::DualAxis, input::InputKind::DualAxis(vec![
expected_input_asset.insert(Action::DualAxis, InputKind::DualAxis(vec![
Box::new(GamepadStick::RIGHT),
Box::new(VirtualDPad::wasd()),
]));
let input_asset = input::InputAsset::from(input_map);
let input_asset = 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 {
let mut input_asset = InputAsset::default();
input_asset.insert(Action::Button, MultiInput {
keyboard: Some(vec![KeyCode::KeyE]),
gamepad: Some(vec![GamepadButton::East]),
mouse: None,
}.into());
input_asset.insert(Action::SingleAxis, input::InputKind::Axis(vec![
input_asset.insert(Action::SingleAxis, InputKind::Axis(vec![
Box::new(GamepadAxis::LeftStickX),
Box::new(VirtualAxis::ad()),
]));
input_asset.insert(Action::DualAxis, input::InputKind::DualAxis(vec![
input_asset.insert(Action::DualAxis, InputKind::DualAxis(vec![
Box::new(GamepadStick::RIGHT),
Box::new(VirtualDPad::wasd()),
]));

View file

@ -1,5 +1,11 @@
use bevy::prelude::*;
use crate::inventory::{Inventory, item::Item, ui::DraggedItem};
use crate::{
inventory::{
Inventory,
item::Item,
},
ui::inventory::DraggedItem,
};
fn inventory() -> Inventory {
Inventory::new(UVec2::splat(4))