Upgraded bevy to 0.9
parent
d5107655a0
commit
6732618773
File diff suppressed because it is too large
Load Diff
|
|
@ -6,10 +6,9 @@ edition = "2021"
|
|||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
bevy = { version = "0.8.1", features = ["dynamic"] }
|
||||
bevy-inspector-egui = "0.13.0"
|
||||
bevy_rapier2d = "0.17.0"
|
||||
serde = "1.0.145"
|
||||
bevy = { version = "0.9.0", features = ["dynamic"] }
|
||||
bevy-inspector-egui = "0.14.0"
|
||||
bevy_rapier2d = { path = "../bevy_rapier/bevy_rapier2d" }
|
||||
|
||||
# Enable a small amount of optimization in debug mode
|
||||
[profile.dev]
|
||||
|
|
|
|||
34
src/game.rs
34
src/game.rs
|
|
@ -24,16 +24,42 @@ pub fn init() {
|
|||
fn setup(mut commands: Commands) {
|
||||
// Static ground
|
||||
commands
|
||||
.spawn()
|
||||
.spawn(())
|
||||
.insert(Name::new("Ground"))
|
||||
.insert(Collider::cuboid(400.0, 25.0))
|
||||
.insert_bundle(SpriteBundle {
|
||||
.insert(Collider::cuboid(40.0, 25.0))
|
||||
.insert(SpriteBundle {
|
||||
sprite: Sprite {
|
||||
color: Color::rgb(0.25, 0.25, 0.75),
|
||||
custom_size: Some(Vec2::new(800.0, 50.0)),
|
||||
custom_size: Some(Vec2::new(80.0, 50.0)),
|
||||
..default()
|
||||
},
|
||||
transform: Transform::from_xyz(0.0, -100.0, 0.0),
|
||||
..default()
|
||||
});
|
||||
commands
|
||||
.spawn(())
|
||||
.insert(Name::new("Ground"))
|
||||
.insert(Collider::cuboid(40.0, 25.0))
|
||||
.insert(SpriteBundle {
|
||||
sprite: Sprite {
|
||||
color: Color::rgb(0.25, 0.25, 0.75),
|
||||
custom_size: Some(Vec2::new(80.0, 50.0)),
|
||||
..default()
|
||||
},
|
||||
transform: Transform::from_xyz(100.0, -200.0, 0.0),
|
||||
..default()
|
||||
});
|
||||
commands
|
||||
.spawn(())
|
||||
.insert(Name::new("Ground"))
|
||||
.insert(Collider::cuboid(100.0, 25.0))
|
||||
.insert(SpriteBundle {
|
||||
sprite: Sprite {
|
||||
color: Color::rgb(0.25, 0.25, 0.75),
|
||||
custom_size: Some(Vec2::new(200.0, 50.0)),
|
||||
..default()
|
||||
},
|
||||
transform: Transform::from_xyz(0.0, -300.0, 0.0),
|
||||
..default()
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
use bevy::{prelude::*, render::camera::ScalingMode};
|
||||
use bevy_inspector_egui::{Inspectable, RegisterInspectable};
|
||||
|
||||
use crate::util::{move_towards_vec3, vec3_lerp};
|
||||
|
||||
|
|
@ -6,13 +7,13 @@ pub struct GameCameraPlugin;
|
|||
|
||||
impl Plugin for GameCameraPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.register_type::<CameraFollow>()
|
||||
app.register_inspectable::<CameraFollow>()
|
||||
.add_startup_system(camera_setup)
|
||||
.add_system(camera_system);
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Inspectable, PartialEq, Reflect)]
|
||||
pub enum FollowMovement {
|
||||
Instant,
|
||||
Linear(f32),
|
||||
|
|
@ -25,25 +26,24 @@ impl Default for FollowMovement {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Component, Reflect)]
|
||||
#[derive(Default, Component, Reflect, Inspectable)]
|
||||
#[reflect(Component)]
|
||||
pub struct CameraFollow {
|
||||
pub priority: i32,
|
||||
#[reflect(ignore)]
|
||||
pub movement: FollowMovement,
|
||||
}
|
||||
|
||||
fn camera_setup(mut commands: Commands) {
|
||||
commands
|
||||
.spawn()
|
||||
.insert(Name::new("Camera"))
|
||||
.insert_bundle(Camera2dBundle {
|
||||
commands.spawn((
|
||||
Name::new("Camera"),
|
||||
Camera2dBundle {
|
||||
projection: OrthographicProjection {
|
||||
scaling_mode: ScalingMode::FixedHorizontal(320.0),
|
||||
..default()
|
||||
},
|
||||
..default()
|
||||
});
|
||||
},
|
||||
));
|
||||
}
|
||||
|
||||
fn camera_system(
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ pub fn player_system(
|
|||
input: Res<Input<KeyCode>>,
|
||||
mut query: Query<(&mut KinematicInput, &Transform), With<PlayerInput>>,
|
||||
) {
|
||||
let (mut kinematic_input, transform) = match query.get_single_mut() {
|
||||
let (mut kinematic_input, _transform) = match query.get_single_mut() {
|
||||
Ok(single) => single,
|
||||
Err(_) => return,
|
||||
};
|
||||
|
|
@ -64,9 +64,9 @@ pub fn player_spawn(mut commands: Commands) {
|
|||
};
|
||||
|
||||
commands
|
||||
.spawn()
|
||||
.spawn(())
|
||||
.insert(Name::new("Player"))
|
||||
.insert_bundle(SpriteBundle {
|
||||
.insert(SpriteBundle {
|
||||
sprite: Sprite {
|
||||
color: Color::rgb(0.75, 0.25, 0.25),
|
||||
custom_size: Some(Vec2 { x: 16.0, y: 32.0 }),
|
||||
|
|
@ -74,7 +74,7 @@ pub fn player_spawn(mut commands: Commands) {
|
|||
},
|
||||
..default()
|
||||
})
|
||||
.insert_bundle(PlayerBundle {
|
||||
.insert(PlayerBundle {
|
||||
kinematic,
|
||||
..default()
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue