use bevy::prelude::*;
#[allow(unused_imports)]
use crate::assets::LdtkProject;
#[allow(unused_imports)]
use crate::components::LdtkWorldBundle;
mod level_selection;
pub use level_selection::LevelSelection;
mod level_event;
pub use level_event::LevelEvent;
#[derive(Copy, Clone, Default, Eq, PartialEq, Debug)]
pub enum SetClearColor {
#[default]
No,
FromLevelBackground,
FromEditorBackground,
}
#[derive(Copy, Clone, Eq, PartialEq, Debug, Default)]
pub enum LevelSpawnBehavior {
#[default]
UseZeroTranslation,
UseWorldTranslation {
load_level_neighbors: bool,
},
}
#[derive(Copy, Clone, Eq, PartialEq, Debug, Default)]
pub enum IntGridRendering {
#[default]
Colorful,
Invisible,
}
#[derive(Copy, Clone, Eq, PartialEq, Debug, Default)]
pub enum LevelBackground {
#[default]
Rendered,
Nonexistent,
}
#[derive(Clone, Eq, PartialEq, Debug, Default)]
pub struct SpawnExclusions {
pub layer_identifiers: Vec<String>,
}
#[derive(Clone, Eq, PartialEq, Debug, Default, Resource)]
pub struct LdtkSettings {
pub level_spawn_behavior: LevelSpawnBehavior,
pub set_clear_color: SetClearColor,
pub int_grid_rendering: IntGridRendering,
pub level_background: LevelBackground,
pub exclusions: SpawnExclusions,
}