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<PartConfig>);
#[derive(Resource, Default)]
pub struct ShipEditorConfigHolder {
pub handle: Option<Handle<ShipEditorConfig>>,
}