diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-06-02 17:18:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-02 17:18:35 +0200 |
| commit | d3d998e91e39e64b9bdd9060ba7904218fd8cfbe (patch) | |
| tree | 5428b4716ee944e1ae76f9e09134399b7d20c053 /src_testbed | |
| parent | 6ba1c9dec184adcba2c68cc1851dc05587fd0bf0 (diff) | |
| parent | a49605bd9b0ae538ae9cf83b74132d0f0e820a9a (diff) | |
| download | rapier-d3d998e91e39e64b9bdd9060ba7904218fd8cfbe.tar.gz rapier-d3d998e91e39e64b9bdd9060ba7904218fd8cfbe.tar.bz2 rapier-d3d998e91e39e64b9bdd9060ba7904218fd8cfbe.zip | |
Merge pull request #193 from rezural/egui-focus
Testbed: check if the egui context wants pointer focus, disable orbit camera if so.
Diffstat (limited to 'src_testbed')
| -rw-r--r-- | src_testbed/testbed.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 80d809c..6f022f2 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -423,6 +423,7 @@ impl TestbedApp { .insert_non_send_resource(self.plugins) .add_stage_before(CoreStage::Update, "physics", SystemStage::single_threaded()) .add_system_to_stage("physics", update_testbed.system()) + .add_system(egui_focus.system()) .run(); } } @@ -841,6 +842,16 @@ fn setup_graphics_environment(mut commands: Commands) { }); } +fn egui_focus(ui_context: Res<EguiContext>, mut cameras: Query<&mut OrbitCamera>) { + let mut camera_enabled = true; + if ui_context.ctx().wants_pointer_input() { + camera_enabled = false; + } + for mut camera in cameras.iter_mut() { + camera.enabled = camera_enabled; + } +} + fn update_testbed( mut commands: Commands, windows: Res<Windows>, |
