summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2026-08-27 00:46:41 -0700
committerKai Stevenson <kai@kaistevenson.com>2026-08-27 00:46:41 -0700
commit3c95b741b51dbba8fc93105760c4daa213a8f39e (patch)
tree4797d6c1be71df2f62970b4806ce487fec88b61f /src
parent6fcf3b4e085ab8009ff1b0fd34e3f0ff8765465b (diff)
rb info in UI
Diffstat (limited to 'src')
-rw-r--r--src/renderer/ui.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/renderer/ui.rs b/src/renderer/ui.rs
index 46fb853..db43457 100644
--- a/src/renderer/ui.rs
+++ b/src/renderer/ui.rs
@@ -1,4 +1,5 @@
use egui::{Color32, Stroke, Ui, epaint::CircleShape};
+use rapier2d::pipeline::QueryFilter;
use crate::{
Camera, Config, Diagnostics,
@@ -151,4 +152,26 @@ pub fn draw_egui<'a>(
ui.label(egui::RichText::new(format!("Flags: {:b}", cell.flags)).color(Color32::YELLOW));
ui.label(egui::RichText::new(format!("Data: {:b}", cell.data)).color(Color32::RED));
}
+
+ let mut colliders_at_mouse = sim
+ .rb_manager
+ .physics_manager
+ .world
+ .intersect_point(input_manager.world_mouse_pos, QueryFilter::only_dynamic());
+ if let Some((_, collider)) = colliders_at_mouse.next()
+ && let Some(rb_h) = collider.parent()
+ && let Some(rb) = sim.rb_manager.physics_manager.world.bodies.get(rb_h)
+ {
+ ui.label("RB");
+ ui.label(format!(
+ "Position: {}, rotation: {}",
+ rb.translation(),
+ rb.rotation().angle()
+ ));
+ ui.label(format!(
+ "Velocity: {}, sleeping: {}",
+ rb.linvel(),
+ rb.is_sleeping()
+ ));
+ }
}