use crate::client::ClientPlugin;
use bevy::app::{PluginGroup, PluginGroupBuilder};
use bevy::dev_tools::picking_debug::DebugPickingPlugin;
use bevy::ecs::schedule::ScheduleLabel;
use bevy::input_focus::InputDispatchPlugin;
use crate::prelude::*;
use bevy::ui::UiPlugin;
use leafwing_input_manager::plugin::InputManagerPlugin;
pub struct ClientPluginGroup;
impl PluginGroup for ClientPluginGroup {
fn build(self) -> PluginGroupBuilder {
PluginGroupBuilder::start::<Self>()
.add(MeshPickingPlugin)
.add(DebugPickingPlugin)
.add(ClientPlugin)
.add(UiPlugin)
.add(InputDispatchPlugin)
.add(InputManagerPlugin::<crate::client::input::ClientAction>::default())
}
}
#[derive(ScheduleLabel, Clone, Eq, Debug, Hash, PartialEq)]
pub struct DontRunSchedule;