use crate::client::crafting::ui::crafting_ui_plugin; use crate::client::key_input::key_input_plugin; use crate::client::parts::parts_plugin; use crate::client::planet::indicators::indicators_plugin; use crate::client::starfield::starfield_plugin; use crate::client::starguide::orbit::starguide_orbit_plugin; use crate::client::ui::ui_plugin; use crate::client::zoom::zoom_plugin; use crate::client::starguide::init::starguide_init_plugin; use crate::client::starguide::input::starguide_input_plugin; use components::StarguideGizmos; use bevy::dev_tools::picking_debug::DebugPickingMode; use crate::prelude::*; use planet::incoming_planets::incoming_planets_plugin; use crate::client::ship::attachment::client_attachment_plugin; use crate::shared::ecs::GameplayState; pub mod colors; pub mod key_input; pub mod parts; pub mod planet; pub mod starfield; pub mod ui; pub mod zoom; pub mod ship; pub mod rendering; pub mod input; pub mod starguide; pub mod crafting; pub mod components; pub mod plugins; pub struct ClientPlugin; impl Plugin for ClientPlugin { fn build(&self, app: &mut App) { app .init_gizmo_group::() .add_plugins(rendering::render_plugin) .add_plugins(input::input_plugin) .add_plugins(ship::thrusters::client_thrusters_plugin) .add_plugins((incoming_planets_plugin, indicators_plugin)) .add_plugins(parts_plugin) .add_plugins(key_input_plugin) .add_plugins(starfield_plugin) .add_plugins(ui_plugin) .add_plugins(zoom_plugin) .add_plugins(client_attachment_plugin) .add_plugins(starguide_init_plugin) .add_plugins(starguide_input_plugin) .add_plugins(starguide_orbit_plugin) .add_plugins(crafting_ui_plugin) .insert_state(GameplayState::Main) .insert_resource(DebugPickingMode::Disabled); } }