Compare commits

1 Commits

Author SHA1 Message Date
yukkop 036ef889e8 build: examples target directory 2024-02-17 22:53:04 +01:00
2 changed files with 34 additions and 57 deletions
@@ -3,6 +3,9 @@ name = "basic"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
[build]
target-dir = "../../../../target"
[features] [features]
x11 = ["bevy/x11", "bevy/bevy_winit"] x11 = ["bevy/x11", "bevy/bevy_winit"]
wayland = ["bevy/wayland", "bevy/bevy_winit"] wayland = ["bevy/wayland", "bevy/bevy_winit"]
+31 -57
View File
@@ -10,7 +10,7 @@ use bevy_controls::{
Action, ActionInner, GameState, GameStateInner, InputsContainer, InputsContainerInner, Action, ActionInner, GameState, GameStateInner, InputsContainer, InputsContainerInner,
}, },
plugin::ControlsPlugin, plugin::ControlsPlugin,
resource::{Binding, ButtonCombination, Controls, InputType, InputValue, PlayerInputs}, resource::{Binding, ButtonCombination, Controls, InputType, InputValue, Keyboard, PlayerInputs},
}; };
use strum_macros::EnumIter; use strum_macros::EnumIter;
@@ -58,7 +58,8 @@ impl InputsContainerInner<MyAction> for MyInputsContainer {
#[derive(Resource, Default, Deref, DerefMut)] #[derive(Resource, Default, Deref, DerefMut)]
struct JumpsCount(i32); struct JumpsCount(i32);
fn main() { App::new() fn main() {
App::new()
.add_plugins(( .add_plugins((
DefaultPlugins, DefaultPlugins,
ControlsPlugin::<MyAction, MyInputsContainer, MyGameState>::default(), ControlsPlugin::<MyAction, MyInputsContainer, MyGameState>::default(),
@@ -71,94 +72,67 @@ fn main() { App::new()
// TODO: default bingings... // TODO: default bingings...
fn add_bindings(mut controls: ResMut<Controls<MyAction, MyGameState>>) { fn add_bindings(mut controls: ResMut<Controls<MyAction, MyGameState>>) {
<<<<<<< HEAD
controls.force_push( controls.force_push(
MyAction::Left, MyAction::Left,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::A))), // this way input will work only on latin layout only on `A`
Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::KeyCode(KeyCode::A),
))),
); );
controls.force_push( controls.force_push(
MyAction::Left, MyAction::Left,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::H))), // this way input will work only on any layout on same button, 35 is `H` for `us` layout or
// `О` for `ru` layout
Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::ScanCode(ScanCode(35)),
))),
); );
controls.force_push( controls.force_push(
MyAction::Back, MyAction::Back,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::S))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::KeyCode(KeyCode::S),
))),
); );
controls.force_push( controls.force_push(
MyAction::Back, MyAction::Back,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::J))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::ScanCode(ScanCode(36)),
))),
); );
controls.force_push( controls.force_push(
MyAction::Forward, MyAction::Forward,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::W))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::KeyCode(KeyCode::W),
))),
); );
controls.force_push( controls.force_push(
MyAction::Forward, MyAction::Forward,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::K))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::ScanCode(ScanCode(37)),
))),
); );
controls.force_push( controls.force_push(
MyAction::Right, MyAction::Right,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::D))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::KeyCode(KeyCode::D),
))),
); );
controls.force_push( controls.force_push(
MyAction::Right, MyAction::Right,
Binding::new(ButtonCombination::Single(InputType::Keyboard(KeyCode::L))), Binding::new(ButtonCombination::Single(InputType::Keyboard(
Keyboard::ScanCode(ScanCode(38)),
))),
); );
controls.force_push( controls.force_push(
MyAction::Up, MyAction::Up,
Binding::new(ButtonCombination::Single(InputType::Keyboard( Binding::new(ButtonCombination::Single(InputType::Keyboard(
KeyCode::Space, Keyboard::KeyCode(KeyCode::Space),
))), ))),
); );
=======
controls.force_push(
MyAction::Left,
// this way input will work only on latin layout only on `A`
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::KeyCode(KeyCode::A)))),
);
controls.force_push(
MyAction::Left,
// this way input will work only on any layout on same button, 35 is `H` for `us` layout or
// `О` for `ru` layout
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::ScanCode(ScanCode(35))))),
);
controls.force_push(
MyAction::Back,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::KeyCode(KeyCode::S)))),
);
controls.force_push(
MyAction::Back,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::ScanCode(ScanCode(36))))),
);
controls.force_push(
MyAction::Forward,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::KeyCode(KeyCode::W)))),
);
controls.force_push(
MyAction::Forward,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::ScanCode(ScanCode(37))))),
);
controls.force_push(
MyAction::Right,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::KeyCode(KeyCode::D)))),
);
controls.force_push(
MyAction::Right,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::ScanCode(ScanCode(38))))),
);
controls.force_push(
MyAction::Up,
Binding::new(ButtonCombination::Single(InputType::Keyboard(Keyboard::KeyCode(KeyCode::Space)))),
);
>>>>>>> b2e0bd2 (feat: scancode support)
} }
#[derive(Component)] #[derive(Component)]