diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-27 00:46:41 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-27 00:46:41 -0700 |
| commit | 3c95b741b51dbba8fc93105760c4daa213a8f39e (patch) | |
| tree | 4797d6c1be71df2f62970b4806ce487fec88b61f /src | |
| parent | 6fcf3b4e085ab8009ff1b0fd34e3f0ff8765465b (diff) | |
rb info in UI
Diffstat (limited to 'src')
| -rw-r--r-- | src/renderer/ui.rs | 23 |
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() + )); + } } |
