From efc0065307d7133c76041da2132f143dfcfa1f97 Mon Sep 17 00:00:00 2001 From: MalekiRe Date: Wed, 13 Sep 2023 19:07:39 -0700 Subject: [PATCH] saving progress --- src/xr_input/oculus_touch.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/xr_input/oculus_touch.rs b/src/xr_input/oculus_touch.rs index cb30282..1a7216c 100644 --- a/src/xr_input/oculus_touch.rs +++ b/src/xr_input/oculus_touch.rs @@ -1,7 +1,9 @@ use crate::resources::{XrInstance, XrSession}; use crate::xr_input::controllers::{Handed, Touchable}; use bevy::prelude::{Commands, Res, Resource}; -use openxr::{Action, ActionSet, AnyGraphics, Binding, Haptic, Instance, Posef, Session, Space}; +use openxr::{Action, ActionSet, AnyGraphics, Binding, FrameState, Haptic, Instance, Posef, Session, Space}; +use openxr::sys::Instance; +use crate::input::XrInput; pub fn setup_oculus_controller( mut commands: Commands, @@ -25,6 +27,26 @@ pub fn setup_oculus_controller( #[derive(Resource, Clone)] pub struct ActionSets(pub Vec); +pub struct OculusControllerRef<'a> { + oculus_controller: &'a OculusController, + instance: &'a Instance, + session: &'a Session, + frame_state: &'a FrameState, + xr_input: &'a XrInput, +} + +impl OculusController { + pub fn get_ref(&self, instance: &Instance, session: &Session, frame_state: &FrameState, xr_input: &XrInput) -> OculusControllerRef { + OculusControllerRef { + oculus_controller: self, + instance, + session, + frame_state, + xr_input, + } + } +} + #[derive(Resource)] pub struct OculusController { pub grip_space: Handed,