diff --git a/src/camera.rs b/src/camera.rs index fd021ba..0546d97 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -1,9 +1,7 @@ -use bevy::{prelude::*, winit::UpdateMode}; +use bevy::prelude::*; use crate::player::Player; - -#[derive(Component)] -struct Camera; +use crate::player::move_player; fn spawn_camera(mut commands: Commands) { commands.spawn(Camera2d); @@ -11,17 +9,17 @@ fn spawn_camera(mut commands: Commands) { // Follow the player with the camera fn follow_player( - player: Single<&Transform, With>, - mut camera: Single<&mut Transform, With>, + player: Single<&Transform, (With, Without)>, + mut camera: Single<&mut Transform, (With, Without)>, ) { camera.translation = player.translation; } -struct CameraPlugin; +pub struct CameraPlugin; impl Plugin for CameraPlugin { fn build(&self, app: &mut App) { app.add_systems(Startup, spawn_camera) - .add_systems(Update, follow_player); + .add_systems(Update, follow_player.after(move_player)); } }