Fix debug ui

This commit is contained in:
rewin
2024-01-16 22:15:57 +03:00
parent e2cd421828
commit 657629f62a
5 changed files with 46 additions and 13 deletions
+18 -4
View File
@@ -3,7 +3,7 @@ use std::fmt;
use bevy::{prelude::*, window::PrimaryWindow};
use bevy_inspector_egui::{quick::WorldInspectorPlugin, bevy_egui::EguiPlugin, DefaultInspectorConfigPlugin};
use bevy_mod_picking::debug::DebugPickingMode;
use space_editor::{space_editor_ui::{EditorPluginGroup, EditorPickingPlugin, EditorDefaultCameraPlugin, bottom_menu::BottomMenuPlugin, EditorUiCore}, prelude::{EditorCameraMarker, space_undo::UndoPlugin}};
use space_editor::{space_editor_ui::{EditorPluginGroup, EditorPickingPlugin, EditorDefaultCameraPlugin, bottom_menu::BottomMenuPlugin, EditorUiCore, tools::gizmo::GizmoToolPlugin, ShowEditorUi}, prelude::{EditorCameraMarker, space_undo::UndoPlugin}};
use crate::{
camera_controller::{CameraController, CameraMotionSystem},
@@ -24,7 +24,6 @@ pub struct DebugPlugin;
impl Plugin for DebugPlugin {
fn build(&self, app: &mut App) {
app.insert_resource(DebugMode(false))
.add_plugins(WorldInspectorPlugin::new().run_if(is_debug_mode))
.insert_resource(State::new(DebugPickingMode::Disabled))
.insert_resource(GizmoConfig {
enabled: true,
@@ -44,6 +43,7 @@ impl Plugin for DebugPlugin {
.run_if(is_debug_mode),
),
);
//space_editor stuff
// app.add_plugins(UndoPlugin);
@@ -58,13 +58,17 @@ impl Plugin for DebugPlugin {
.disable::<EditorPickingPlugin>()
.disable::<EditorDefaultCameraPlugin>()
.disable::<BottomMenuPlugin>()
.disable::<space_editor::space_editor_ui::ext::bevy_inspector_egui::quick::WorldInspectorPlugin>(),);
.disable::<GizmoToolPlugin>()
);
app.add_systems(Update, sync_editor_camera);
app.add_systems(Update, update_editor_ui_mode.run_if(resource_changed::<DebugMode>()));
}
}
fn toggle_debug_mode(mut input: EventReader<InputAction>, mut r_debug: ResMut<DebugMode>) {
fn toggle_debug_mode(
mut input: EventReader<InputAction>,
mut r_debug: ResMut<DebugMode>,) {
if input
.read()
.any(|action| matches!(action, InputAction(Lifecycle::Stop, Action::ToggleDebug)))
@@ -73,6 +77,16 @@ fn toggle_debug_mode(mut input: EventReader<InputAction>, mut r_debug: ResMut<De
}
}
fn update_editor_ui_mode(
r_debug: Res<DebugMode>,
mut s_show_editor_ui: ResMut<NextState<ShowEditorUi>>,
) {
s_show_editor_ui.set(match **r_debug {
true => ShowEditorUi::Show,
false => ShowEditorUi::Hide,
});
}
fn update_debug_picking_mode(
r_debug: Res<DebugMode>,
mut s_debug_picking: ResMut<NextState<DebugPickingMode>>,
+15
View File
@@ -38,3 +38,18 @@ pub(super) fn spawn_gizmo_camera(
));
});
}
pub(super) fn sync_gizmo_and_main_cameras(
q_main_camera: Query<&Camera, (With<MainCamera>, Without<GizmoCamera>)>,
mut q_gizmo_camera: Query<&mut Camera, (With<GizmoCamera>, Without<MainCamera>)>,
) {
let Ok(main_cam) = q_main_camera.get_single() else {
return;
};
let Ok(mut gizmo_cam) = q_gizmo_camera.get_single_mut() else {
return;
};
gizmo_cam.viewport = main_cam.viewport.clone();
}
+4
View File
@@ -62,6 +62,10 @@ impl Plugin for GizmoPlugin {
normalize_gizmo_scale.after(CameraMotionSystem),
),
);
//sync camera viewports
app.add_systems(Update, camera::sync_gizmo_and_main_cameras);
app.add_systems(
PostUpdate,
update_ss_ring_rotation.after(TransformSystem::TransformPropagate),