use bevy::prelude::*;
pub mod ext {
pub use bevy_inspector_egui;
pub use egui_file;
}
pub mod prelude {
pub use crate::{
EditorCameraMarker, EditorEvent, EditorPrefabPath, EditorSet, EditorState, PrefabMarker,
PrefabMemoryCache,
};
}
#[derive(Component, Default, Clone, Reflect)]
#[reflect(Component)]
pub struct PrefabMarker;
#[derive(Component, Default, Clone, Reflect)]
#[reflect(Component)]
pub struct EditorCameraMarker;
#[derive(States, Default, Debug, Clone, Hash, Eq, PartialEq)]
pub enum EditorState {
Editor,
GamePrepare,
#[default]
Game,
}
#[derive(SystemSet, Hash, Eq, PartialEq, Clone, Debug)]
pub enum EditorSet {
Editor,
Game,
}
#[derive(Resource, Default)]
pub struct PrefabMemoryCache {
pub scene: Option<Handle<DynamicScene>>,
}
#[derive(Clone, Debug)]
pub enum EditorPrefabPath {
File(String),
MemoryCahce,
}
#[derive(Event)]
pub enum EditorEvent {
Load(EditorPrefabPath),
Save(EditorPrefabPath),
LoadGltfAsPrefab(String),
StartGame,
}