Reset level

This commit is contained in:
Pascal Engélibert 2022-08-25 11:31:12 +02:00
commit 10abb0a676
Signed by: tuxmain
GPG key ID: 3504BC6D362F7DCA
3 changed files with 37 additions and 24 deletions

View file

@ -9,18 +9,12 @@ use crate::game::*;
use bevy::prelude::*;
pub fn setup_level(
commands: &mut Commands,
current_level: &mut ResMut<CurrentLevel>,
level_startup_event: &mut EventWriter<LevelStartupEvent>,
camera_query: &mut Query<&mut Transform, With<Camera>>,
level_id: LevelId,
) {
let level_entity = commands.spawn().insert(Level).id();
current_level.0 = Some(level_id);
camera_query.single_mut().translation = Default::default();
level_startup_event.send(LevelStartupEvent(level_entity));
level_startup_event.send(LevelStartupEvent);
}
pub fn despawn_level(mut commands: Commands, level_query: Query<Entity, With<Level>>) {
@ -40,7 +34,7 @@ pub fn post_setup_level(
asset_server: Res<AssetServer>,
audio: Res<crossbeam_channel::Sender<AudioMsg>>,
) {
for LevelStartupEvent(_level_entity) in level_startup_event.iter() {
for _ in level_startup_event.iter() {
if let Some(level_id) = current_level.0 {
match level_id.0 {
0 => level0::setup(