use bevy::prelude::*; use crate::{ AppState, cleanup::{self, despawn}, }; mod camera; mod debug; mod scene; mod tram { use bevy::prelude::*; fn spawn_tram( mut c: Commands, mut meshes: ResMut>, mut materials: ResMut>, ) { } } /// Gameplay system set. All functions in this control the gameplay (duh). #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)] struct GameplaySet; pub fn plugin(app: &mut App) { app.add_systems(OnEnter(AppState::Ingame), scene::setup.in_set(GameplaySet)) .add_systems( OnExit(AppState::Ingame), despawn::.in_set(GameplaySet), ) .add_plugins((debug::plugin, camera::plugin)); app.configure_sets(Update, GameplaySet.run_if(in_state(AppState::Ingame))); }