From 91ab46639a309bb52a0f4b2931ff3a2a703cf4cc Mon Sep 17 00:00:00 2001 From: rewin Date: Thu, 11 Jan 2024 22:16:13 +0300 Subject: [PATCH] Finish refactor gizmo --- studio/Cargo.toml | 2 +- studio/src/interaction/gizmos/combo.rs | 8 ++++---- studio/src/interaction/gizmos/translation.rs | 11 +++++++---- studio/src/scene.rs | 5 +++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/studio/Cargo.toml b/studio/Cargo.toml index a8d7161..5ba5708 100644 --- a/studio/Cargo.toml +++ b/studio/Cargo.toml @@ -32,7 +32,7 @@ web-sys = { version = "0.3.65", optional = true, features = [ "HtmlElement", "Window", ] } -space_editor = {git = "https://github.com/rewin123/space_editor", rev = "f039601b6d286a5f9e3b09521623000d5bf3eb84"} +space_editor = {git = "https://github.com/rewin123/space_editor", rev = "c972e586114aabf4e44a8c82d29ad7045dd350d1"} [features] wasm = [ diff --git a/studio/src/interaction/gizmos/combo.rs b/studio/src/interaction/gizmos/combo.rs index 40e964e..fb8828e 100644 --- a/studio/src/interaction/gizmos/combo.rs +++ b/studio/src/interaction/gizmos/combo.rs @@ -39,7 +39,7 @@ pub(super) fn spawn_combo_translation_rotation_gizmo( On::>::run(on_gizmo_element_unhover), On::>::run(on_translation_start), On::>::run(on_translate), - On::>::target_commands_mut(on_translation_end), + On::>::run(on_translation_end), )); // Rotate X @@ -78,7 +78,7 @@ pub(super) fn spawn_combo_translation_rotation_gizmo( On::>::run(on_gizmo_element_unhover), On::>::run(on_translation_start), On::>::run(on_translate), - On::>::target_commands_mut(on_translation_end), + On::>::run(on_translation_end), )); // Rotate Y @@ -117,7 +117,7 @@ pub(super) fn spawn_combo_translation_rotation_gizmo( On::>::run(on_gizmo_element_unhover), On::>::run(on_translation_start), On::>::run(on_translate), - On::>::target_commands_mut(on_translation_end), + On::>::run(on_translation_end), )); // Rotate Z @@ -156,7 +156,7 @@ pub(super) fn spawn_combo_translation_rotation_gizmo( On::>::run(on_gizmo_element_unhover), On::>::run(on_translation_start), On::>::run(on_translate), - On::>::target_commands_mut(on_translation_end), + On::>::run(on_translation_end), )); }); } diff --git a/studio/src/interaction/gizmos/translation.rs b/studio/src/interaction/gizmos/translation.rs index f169524..befe0a0 100644 --- a/studio/src/interaction/gizmos/translation.rs +++ b/studio/src/interaction/gizmos/translation.rs @@ -36,7 +36,7 @@ pub(super) fn spawn_translation_gizmo( On::>::run(on_gizmo_element_unhover), On::>::run(on_translation_start), On::>::run(on_translate), - On::>::target_commands_mut(on_translation_end), + On::>::run(on_translation_end), )) .with_children(|cmd| { use super::{CIRC_45, ROT_X, ROT_Y, ROT_Z}; @@ -215,10 +215,13 @@ pub(super) fn on_translation_start( } pub(super) fn on_translation_end( - _: &ListenerInput>, - cmd: &mut EntityCommands<'_, '_, '_>, + _: Listener>, + mut cmd: Commands, + q_initial_transforms: Query>, ) { - cmd.remove::(); + for ent in q_initial_transforms.iter() { + cmd.entity(ent).remove::(); + } } pub(super) fn on_translate( diff --git a/studio/src/scene.rs b/studio/src/scene.rs index 480f702..fa54840 100644 --- a/studio/src/scene.rs +++ b/studio/src/scene.rs @@ -13,7 +13,7 @@ use bevy::{ scene::InstanceId, }; -use space_editor::prelude::PrefabMarker; +use space_editor::prelude::{PrefabMarker, space_undo::OneFrameUndoIgnore}; #[cfg(feature = "wasm")] use wasm_bindgen::prelude::wasm_bindgen; @@ -208,7 +208,8 @@ fn spawn_next_scene( SceneRoot, SceneElement, SpatialBundle::default(), - PrefabMarker + PrefabMarker, + OneFrameUndoIgnore::default() //To prevert undo try to register add event )) .id();