From c8a41e327a2befcfc616ae01b450789728b6d969 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Sun, 4 Jun 2023 23:04:07 +0200 Subject: [PATCH] core: Add character info to DO debug window --- core/src/debug_ui/display_object.rs | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/core/src/debug_ui/display_object.rs b/core/src/debug_ui/display_object.rs index 0ff8130af..cdd263841 100644 --- a/core/src/debug_ui/display_object.rs +++ b/core/src/debug_ui/display_object.rs @@ -127,7 +127,7 @@ impl DisplayObjectWindow { ui.separator(); match self.open_panel { - Panel::Position => self.show_position(ui, object, messages), + Panel::Position => self.show_position(ui, context, object, messages), Panel::Display => self.show_display(ui, context, object, messages), Panel::Children => self.show_children(ui, context, object, messages), Panel::TypeSpecific => { @@ -322,7 +322,8 @@ impl DisplayObjectWindow { pub fn show_position( &mut self, ui: &mut Ui, - object: DisplayObject<'_>, + context: &mut UpdateContext, + object: DisplayObject, messages: &mut Vec, ) { Grid::new(ui.id().with("position")) @@ -334,6 +335,28 @@ impl DisplayObjectWindow { ui.text_edit_singleline(&mut object.name().to_string()); ui.end_row(); + ui.label("Character"); + let id = object.id(); + if let Some(name) = + context + .library + .library_for_movie(object.movie()) + .and_then(|l| { + l.export_characters().iter().find_map(|(k, v)| { + if *v == id { + Some(k) + } else { + None + } + }) + }) + { + ui.label(format!("{id} {name}")); + } else { + ui.label(id.to_string()); + } + ui.end_row(); + ui.label("Movie"); open_movie_button(ui, &object.movie(), messages); ui.end_row();