public static bool TransitionToState(XrSessionState state, bool forceTransition) { var instance = Instance; if (instance.XrSession == 0) { return(false); } return(Internal_TransitionToState(state, forceTransition)); }
public void CheckValidStateTransition(XrSessionState oldState, XrSessionState newState) { bool hasNewState = s_AllowedStateTransitions.ContainsKey(newState); bool canTransitionTo = s_AllowedStateTransitions[newState].Contains(oldState); Debug.LogWarning($"Attempting to transition from {oldState} to {newState}"); if (!hasNewState) { Debug.LogError($"Has {newState} : {hasNewState}"); } if (!canTransitionTo) { Debug.LogError($"Can transition from {oldState} to {newState} : {canTransitionTo}"); } NUnit.Framework.Assert.IsTrue(hasNewState); NUnit.Framework.Assert.IsTrue(canTransitionTo); }
private static extern bool Internal_TransitionToState(XrSessionState state, bool forceTransition);
internal static extern XrResult TransitionToState(ulong xrSession, XrSessionState state, bool forceTransition);