From a666beb5115710db3c2591b84dd21f986e531c6b Mon Sep 17 00:00:00 2001 From: Elijah Voigt Date: Mon, 7 Jul 2025 16:29:38 -0700 Subject: [PATCH] Add tree dialog path for debugging --- src/bin/trees/main.rs | 27 ++++++++++++++++++++++----- src/debug.rs | 2 +- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/bin/trees/main.rs b/src/bin/trees/main.rs index 471777c..f47e1d2 100644 --- a/src/bin/trees/main.rs +++ b/src/bin/trees/main.rs @@ -34,9 +34,9 @@ fn main() { auto_scroll.run_if(any_component_added::), dialog_box_visibility .run_if(state_changed::), - // monologue_asset_tooltip - // .run_if(on_event::> - // .or(on_event::>)), + monologue_asset_tooltip + .run_if(on_event::> + .or(on_event::>)), ), ) .add_observer(add_dialog_option) @@ -445,7 +445,24 @@ fn monologue_asset_tooltip( mut over_events: EventReader>, mut out_events: EventReader>, mut tooltip: ResMut, - query: Query<&TreeMonologue>, + scripts: Query<&TreeMonologue>, ) { - todo!() + out_events + .read() + .filter_map(|Pointer { target, .. }| scripts.contains(*target).then_some(*target)) + .for_each(|_| { + tooltip.remove("Script"); + }); + + over_events + .read() + .filter_map(|Pointer { target, .. }| scripts.contains(*target).then_some(*target)) + .for_each(|e| { + if let Ok(TreeMonologue(handle)) = scripts.get(e) { + match handle.path() { + Some(p) => tooltip.insert("Script", format!("{p}")), + None => tooltip.insert("Script", "???".into()), + } + } + }); } diff --git a/src/debug.rs b/src/debug.rs index 6992d48..6bfe2dc 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -125,7 +125,7 @@ impl ToolTip { impl Display for ToolTip { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { for (k, v) in self.0.iter() { - write!(f, "{k}: {v}\n")? + writeln!(f, "{k}: {v}")? } Ok(()) }