use bevy::{input::ButtonInput, math::Vec3, prelude::*};
#[allow(dead_code)]
pub fn movement(
time: Res<Time>,
keyboard_input: Res<ButtonInput<KeyCode>>,
mut query: Query<(&mut Transform, &mut Projection), With<Camera>>,
) {
for (mut transform, mut projection) in query.iter_mut() {
let mut direction = Vec3::ZERO;
if keyboard_input.pressed(KeyCode::KeyA) {
direction -= Vec3::new(1.0, 0.0, 0.0);
}
if keyboard_input.pressed(KeyCode::KeyD) {
direction += Vec3::new(1.0, 0.0, 0.0);
}
if keyboard_input.pressed(KeyCode::KeyW) {
direction += Vec3::new(0.0, 1.0, 0.0);
}
if keyboard_input.pressed(KeyCode::KeyS) {
direction -= Vec3::new(0.0, 1.0, 0.0);
}
let Projection::Orthographic(ortho) = &mut *projection else {
continue;
};
if keyboard_input.pressed(KeyCode::KeyZ) {
ortho.scale += 0.1;
}
if keyboard_input.pressed(KeyCode::KeyX) {
ortho.scale -= 0.1;
}
if ortho.scale < 0.5 {
ortho.scale = 0.5;
}
let z = transform.translation.z;
transform.translation += time.delta_secs() * direction * 500.;
transform.translation.z = z;
}
}