Add tree dialog path for debugging

main
Elijah Voigt 4 months ago
parent e637faad5b
commit a666beb511

@ -34,9 +34,9 @@ fn main() {
auto_scroll.run_if(any_component_added::<DialogOption>), auto_scroll.run_if(any_component_added::<DialogOption>),
dialog_box_visibility dialog_box_visibility
.run_if(state_changed::<DialogState>), .run_if(state_changed::<DialogState>),
// monologue_asset_tooltip monologue_asset_tooltip
// .run_if(on_event::<Pointer<Over>> .run_if(on_event::<Pointer<Over>>
// .or(on_event::<Pointer<Out>>)), .or(on_event::<Pointer<Out>>)),
), ),
) )
.add_observer(add_dialog_option) .add_observer(add_dialog_option)
@ -445,7 +445,24 @@ fn monologue_asset_tooltip(
mut over_events: EventReader<Pointer<Over>>, mut over_events: EventReader<Pointer<Over>>,
mut out_events: EventReader<Pointer<Out>>, mut out_events: EventReader<Pointer<Out>>,
mut tooltip: ResMut<ToolTip>, mut tooltip: ResMut<ToolTip>,
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()),
}
}
});
} }

@ -125,7 +125,7 @@ impl ToolTip {
impl Display for ToolTip { impl Display for ToolTip {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
for (k, v) in self.0.iter() { for (k, v) in self.0.iter() {
write!(f, "{k}: {v}\n")? writeln!(f, "{k}: {v}")?
} }
Ok(()) Ok(())
} }

Loading…
Cancel
Save