use bevy::camera::visibility::RenderLayers; use crate::prelude::{Component, Handle, Entity, Resource}; use crate::shared::config::part::PartConfig; use crate::shared::config::ship_editor::ShipEditorConfig; pub const MAIN_RENDER_LAYER: RenderLayers = RenderLayers::layer(0); pub const GHOST_RENDER_LAYER: RenderLayers = RenderLayers::layer(1); #[derive(Component)] pub struct GhostModule; #[derive(Component)] pub struct Part; #[derive(Component)] pub struct PartConfigHolder(pub PartConfig); #[derive(Component)] pub struct MainCamera; #[derive(Component)] pub struct GhostCamera; #[derive(Component)] pub struct PlayerPartRequest; #[derive(Component)] pub struct SpawnPartRequest(pub Handle); #[derive(Resource, Default)] pub struct ShipEditorConfigHolder { pub handle: Option>, }