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