Skip to content
Snippets Groups Projects
mod.rs 670 B
Newer Older
Louis's avatar
Louis committed
use bevy::app::{App, Plugin};
Louis's avatar
Louis committed
use iyes_loopless::prelude::{AppLooplessStateExt, ConditionSet};
Louis's avatar
Louis committed

Louis's avatar
Louis committed
use crate::states::menu_state::go_to_game;
Louis's avatar
Louis committed
use crate::system::flow::AppState;

mod game_state;
Louis's avatar
Louis committed
mod menu_state;

pub struct StatesPlugin;
impl Plugin for StatesPlugin {
	fn build(&self, app: &mut App) {
		app.add_enter_system(AppState::Menu, menu_state::spawn_menu_entities)
Louis's avatar
Louis committed
			.add_exit_system(AppState::Menu, menu_state::despawn_menu_entities)
Louis's avatar
Louis committed
			.add_enter_system(AppState::InGame, game_state::on_enter_game)
Louis's avatar
Louis committed
			.add_system_set(
				ConditionSet::new()
					.run_in_state(AppState::Menu)
					.with_system(go_to_game)
					.into(),
			);
Louis's avatar
Louis committed
	}
}

pub use game_state::Player;