pulled debug rendering into its own plugin

This commit is contained in:
Jay Christy
2023-10-14 11:05:06 -04:00
parent 508a2acbdd
commit 6770c975d7
2 changed files with 12 additions and 2 deletions

View File

@@ -5,7 +5,7 @@ use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin};
use bevy::prelude::*; use bevy::prelude::*;
use bevy::transform::components::Transform; use bevy::transform::components::Transform;
use bevy_openxr::xr_input::hand::OpenXrHandInput; use bevy_openxr::xr_input::hand::{OpenXrHandInput, HandInputDebugRenderer};
use bevy_openxr::xr_input::prototype_locomotion::{proto_locomotion, PrototypeLocomotionConfig}; use bevy_openxr::xr_input::prototype_locomotion::{proto_locomotion, PrototypeLocomotionConfig};
use bevy_openxr::xr_input::trackers::{ use bevy_openxr::xr_input::trackers::{
OpenXRController, OpenXRLeftController, OpenXRRightController, OpenXRTracker, OpenXRController, OpenXRLeftController, OpenXRRightController, OpenXRTracker,
@@ -26,6 +26,7 @@ fn main() {
.insert_resource(PrototypeLocomotionConfig::default()) .insert_resource(PrototypeLocomotionConfig::default())
.add_systems(Startup, spawn_controllers_example) .add_systems(Startup, spawn_controllers_example)
.add_plugins(OpenXrHandInput) .add_plugins(OpenXrHandInput)
.add_plugins(HandInputDebugRenderer)
.run(); .run();
} }

View File

@@ -28,13 +28,22 @@ impl Plugin for OpenXrHandInput {
fn build(&self, app: &mut bevy::prelude::App) { fn build(&self, app: &mut bevy::prelude::App) {
app.add_systems(Update, update_hand_skeletons) app.add_systems(Update, update_hand_skeletons)
.add_systems(PreUpdate, update_hand_states) .add_systems(PreUpdate, update_hand_states)
.add_systems(PostUpdate, draw_hand_entities)
.add_systems(Startup, spawn_hand_entities) .add_systems(Startup, spawn_hand_entities)
.insert_resource(HandStatesResource::default()) .insert_resource(HandStatesResource::default())
.insert_resource(HandInputSource::default()); .insert_resource(HandInputSource::default());
} }
} }
/// add debug renderer for controllers
#[derive(Default)]
pub struct HandInputDebugRenderer;
impl Plugin for HandInputDebugRenderer{
fn build(&self, app: &mut bevy::prelude::App) {
app.add_systems(PostUpdate, draw_hand_entities);
}
}
#[derive(Resource)] #[derive(Resource)]
pub enum HandInputSource { pub enum HandInputSource {
Emulated, Emulated,