fix ci(hopefully) and fix suboptimal behavior in bevy_xr_utils

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2024-10-21 23:32:59 +02:00
parent da659899d4
commit 6666339134
4 changed files with 25 additions and 32 deletions

View File

@@ -55,11 +55,13 @@
//!
use bevy::prelude::*;
use bevy_mod_openxr::{
action_binding::OxrSuggestActionBinding, action_set_attaching::OxrAttachActionSet,
action_set_syncing::OxrActionSetSyncSet, action_set_syncing::OxrSyncActionSet,
resources::OxrInstance, session::OxrSession,
action_binding::OxrSuggestActionBinding,
action_set_attaching::OxrAttachActionSet,
action_set_syncing::{OxrActionSetSyncSet, OxrSyncActionSet},
openxr_session_available, openxr_session_running,
resources::OxrInstance,
session::OxrSession,
};
use bevy_mod_xr::session::{session_available, session_running};
use openxr::{Path, Vector2f};
use std::borrow::Cow;
@@ -69,37 +71,40 @@ impl Plugin for XRUtilsActionsPlugin {
fn build(&self, app: &mut App) {
app.configure_sets(
Startup,
XRUtilsActionSystemSet::CreateEvents.run_if(session_available),
XRUtilsActionSystemSet::CreateEvents.run_if(openxr_session_available),
);
app.configure_sets(
PreUpdate,
XRUtilsActionSystemSet::SyncActionStates.run_if(session_running),
XRUtilsActionSystemSet::SyncActionStates.run_if(openxr_session_running),
);
app.add_systems(
Startup,
create_openxr_events
.in_set(XRUtilsActionSystemSet::CreateEvents)
.run_if(session_available),
.run_if(openxr_session_available),
);
app.add_systems(
Update,
sync_active_action_sets.run_if(openxr_session_running),
);
app.add_systems(Update, sync_active_action_sets.run_if(session_running));
app.add_systems(
PreUpdate,
sync_and_update_action_states_f32
.run_if(session_running)
.run_if(openxr_session_running)
.in_set(XRUtilsActionSystemSet::SyncActionStates)
.after(OxrActionSetSyncSet),
);
app.add_systems(
PreUpdate,
sync_and_update_action_states_bool
.run_if(session_running)
.run_if(openxr_session_running)
.in_set(XRUtilsActionSystemSet::SyncActionStates)
.after(OxrActionSetSyncSet),
);
app.add_systems(
PreUpdate,
sync_and_update_action_states_vector
.run_if(session_running)
.run_if(openxr_session_running)
.in_set(XRUtilsActionSystemSet::SyncActionStates)
.after(OxrActionSetSyncSet),
);