Skip to content

Commit

Permalink
Update non-egui code to bevy 0.13
Browse files Browse the repository at this point in the history
  • Loading branch information
Plonq committed Feb 17, 2024
1 parent c807119 commit e2a61ff
Show file tree
Hide file tree
Showing 17 changed files with 96 additions and 122 deletions.
5 changes: 2 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ readme = "README.md"
bevy_egui = ["dep:bevy_egui"]

[dependencies]
bevy = { version = "0.12", default-features = false }
bevy_easings = "0.12"
bevy = { version = "0.13", default-features = false }
bevy_egui = { version = "0.24", optional = true, default-features = false }

[dev-dependencies]
bevy = { version = "0.12" }
bevy = { version = "0.13" }
float-cmp = "0.9.0"
bevy_egui = { version = "0.24", default-features = false, features = ["default_fonts"] }

Expand Down
13 changes: 6 additions & 7 deletions examples/advanced.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down Expand Up @@ -86,10 +85,10 @@ fn setup(
// This is how you can change config at runtime.
// Press 'T' to toggle the camera controls.
fn toggle_camera_controls_system(
key_input: Res<Input<KeyCode>>,
key_input: Res<ButtonInput<KeyCode>>,
mut pan_orbit_query: Query<&mut PanOrbitCamera>,
) {
if key_input.just_pressed(KeyCode::T) {
if key_input.just_pressed(KeyCode::KeyT) {
for mut pan_orbit in pan_orbit_query.iter_mut() {
pan_orbit.enabled = !pan_orbit.enabled;
}
Expand Down
9 changes: 4 additions & 5 deletions examples/alternate_up_vector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/animate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/egui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/egui_multiple_windows.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/follow_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,22 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands
.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
})
.insert(Cube);
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
55 changes: 25 additions & 30 deletions examples/keyboard_controls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand All @@ -58,84 +57,80 @@ fn setup(

fn keyboard_controls(
time: Res<Time>,
key_input: Res<Input<KeyCode>>,
key_input: Res<ButtonInput<KeyCode>>,
mut pan_orbit_query: Query<(&mut PanOrbitCamera, &mut Transform)>,
) {
for (mut pan_orbit, mut transform) in pan_orbit_query.iter_mut() {
if key_input.pressed(KeyCode::ControlLeft) {
// Jump focus point 1m using Ctrl+Shift + Arrows
if key_input.pressed(KeyCode::ShiftLeft) {
if key_input.just_pressed(KeyCode::Right) {
if key_input.just_pressed(KeyCode::ArrowRight) {
pan_orbit.target_focus += Vec3::X;
}
if key_input.just_pressed(KeyCode::Left) {
if key_input.just_pressed(KeyCode::ArrowLeft) {
pan_orbit.target_focus -= Vec3::X;
}
if key_input.just_pressed(KeyCode::Up) {
if key_input.just_pressed(KeyCode::ArrowUp) {
pan_orbit.target_focus += Vec3::Y;
}
if key_input.just_pressed(KeyCode::Down) {
if key_input.just_pressed(KeyCode::ArrowDown) {
pan_orbit.target_focus -= Vec3::Y;
}
} else {
// Jump by 45 degrees using Left Ctrl + Arrows
if key_input.just_pressed(KeyCode::Right) {
if key_input.just_pressed(KeyCode::ArrowRight) {
pan_orbit.target_alpha += 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Left) {
if key_input.just_pressed(KeyCode::ArrowLeft) {
pan_orbit.target_alpha -= 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Up) {
if key_input.just_pressed(KeyCode::ArrowUp) {
pan_orbit.target_beta += 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Down) {
if key_input.just_pressed(KeyCode::ArrowDown) {
pan_orbit.target_beta -= 45f32.to_radians();
}
}
}
// Pan using Left Shift + Arrows
else if key_input.pressed(KeyCode::ShiftLeft) {
let mut delta_translation = Vec3::ZERO;
if key_input.pressed(KeyCode::Right) {
if key_input.pressed(KeyCode::ArrowRight) {
delta_translation += transform.rotation * Vec3::X * time.delta_seconds();
}
if key_input.pressed(KeyCode::Left) {
if key_input.pressed(KeyCode::ArrowLeft) {
delta_translation += transform.rotation * Vec3::NEG_X * time.delta_seconds();
}
if key_input.pressed(KeyCode::Up) {
if key_input.pressed(KeyCode::ArrowUp) {
delta_translation += transform.rotation * Vec3::Y * time.delta_seconds();
}
if key_input.pressed(KeyCode::Down) {
if key_input.pressed(KeyCode::ArrowDown) {
delta_translation += transform.rotation * Vec3::NEG_Y * time.delta_seconds();
}
transform.translation += delta_translation;
pan_orbit.target_focus += delta_translation;
}
// Smooth rotation using arrow keys without modifier
else {
if key_input.pressed(KeyCode::Right) {
if key_input.pressed(KeyCode::ArrowRight) {
pan_orbit.target_alpha += 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Left) {
if key_input.pressed(KeyCode::ArrowLeft) {
pan_orbit.target_alpha -= 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Up) {
if key_input.pressed(KeyCode::ArrowUp) {
pan_orbit.target_beta += 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Down) {
if key_input.pressed(KeyCode::ArrowDown) {
pan_orbit.target_beta -= 50f32.to_radians() * time.delta_seconds();
}

// Zoom with Z and X
if key_input.pressed(KeyCode::Z) {
pan_orbit.radius = pan_orbit
.radius
.map(|radius| radius - 5.0 * time.delta_seconds());
if key_input.pressed(KeyCode::KeyZ) {
pan_orbit.target_radius -= 5.0 * time.delta_seconds();
}
if key_input.pressed(KeyCode::X) {
pan_orbit.radius = pan_orbit
.radius
.map(|radius| radius + 5.0 * time.delta_seconds());
if key_input.pressed(KeyCode::KeyX) {
pan_orbit.target_radius += 5.0 * time.delta_seconds();
}
}

Expand Down
15 changes: 5 additions & 10 deletions examples/multiple_viewports.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
//! Demonstrates usage with multiple viewports

use bevy::core_pipeline::clear_color::ClearColorConfig;
use bevy::prelude::*;
use bevy::render::camera::Viewport;
use bevy::window::WindowResized;
Expand All @@ -22,21 +21,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand All @@ -58,9 +56,6 @@ fn setup(
camera: Camera {
// Renders the minimap camera after the main camera, so it is rendered on top
order: 1,
..default()
},
camera_3d: Camera3d {
// Don't clear on the second camera because the first camera already cleared the window
clear_color: ClearColorConfig::None,
..default()
Expand All @@ -80,7 +75,7 @@ fn set_camera_viewports(
mut resize_events: EventReader<WindowResized>,
mut right_camera: Query<&mut Camera, With<MinimapCamera>>,
) {
for resize_event in resize_events.iter() {
for resize_event in resize_events.read() {
let window = windows.get(resize_event.window).unwrap();
let mut right_camera = right_camera.single_mut();
let size = window.resolution.physical_width() / 5;
Expand Down
Loading

0 comments on commit e2a61ff

Please sign in to comment.