aboutsummaryrefslogtreecommitdiff
path: root/src_testbed
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-06-02 17:18:35 +0200
committerGitHub <noreply@github.com>2021-06-02 17:18:35 +0200
commitd3d998e91e39e64b9bdd9060ba7904218fd8cfbe (patch)
tree5428b4716ee944e1ae76f9e09134399b7d20c053 /src_testbed
parent6ba1c9dec184adcba2c68cc1851dc05587fd0bf0 (diff)
parenta49605bd9b0ae538ae9cf83b74132d0f0e820a9a (diff)
downloadrapier-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.rs11
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>,