Skip to content
Snippets Groups Projects
mod.rs 767 B
Newer Older
pub mod actions;

mod __plugin {
	use bevy::app::{App, CoreStage};
	use bevy::prelude::Plugin;
	use iyes_loopless::prelude::ConditionSet;

	use crate::system::flow::AppState;

	pub struct ControlPlugin;
	impl Plugin for ControlPlugin {
		fn build(&self, app: &mut App) {
			app.add_system_set_to_stage(
Louis's avatar
Louis committed
				CoreStage::First,
				ConditionSet::new()
					.run_in_state(AppState::InGame)
					.with_system(super::player::handle_player_input)
					.with_system(super::player::handle_wait)
			)
			.add_system_set_to_stage(
				CoreStage::PostUpdate,
				ConditionSet::new()
					.run_in_state(AppState::InGame)
					.with_system(super::player::reset_player_action)
					.into(),
			);
		}
	}
}

pub use __plugin::ControlPlugin;