API reference
API reference
Select your platform
No SDKs available
No versions available

BestHoverInteractorGroup Class

Manages a group of interactors where only the highest-priority interactor is active in the hover state.
This class ensures that interactors with lower priority remain inactive until the higher-priority interactor ceases to hover or is superseded by an interactor with even higher priority.
In typical setups, you will add this class to manage hand or controller interactors. The group typically includes interactors such as the PokeInteractor and GrabInteractor. By default, the priority of interactors is determined by their index in the InteractorGroup.Interactors collection, a lower index corresponds to a higher priority. However, if a custom CandidateComparer<T> is provided, it may override this default behavior based on custom comparison logic.

Properties

CandidateProperties : override object
[Get]
Signature
override object Oculus.Interaction.BestHoverInteractorGroup.CandidateProperties
HasCandidate : override bool
[Get]
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.HasCandidate
HasInteractable : override bool
[Get]
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.HasInteractable
HasSelectedInteractable : override bool
[Get]
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.HasSelectedInteractable
ShouldHover : override bool
[Get]
Determines whether the highest-priority interactor should be in the hover state.
Returns true if the current state is normal and any interactor meets the hover criteria; otherwise, false.
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.ShouldHover
ShouldSelect : override bool
[Get]
Determines whether the highest-priority interactor should transition to the select state.
True if the current state is hover and the highest-priority interactor meets the criteria for selection; otherwise, false.
This property evaluates whether conditions are met for the highest-priority interactor to initiate the selection process. It checks if the current state is InteractorState.Hover and if the highest-priority interactor is ready to be selected.
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.ShouldSelect
ShouldUnhover : override bool
[Get]
Determines whether the highest-priority interactor should cease to hover.
Returns true if the current state is hover and the highest-priority interactor should unhover; otherwise, false.
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.ShouldUnhover
ShouldUnselect : override bool
[Get]
Determines whether the highest-priority interactor should cease being in the select state.
True if the current state is select and the highest-priority interactor meets the criteria for unselection; otherwise, false.
This property checks if the current state is InteractorState.Select and evaluates whether the highest-priority interactor should transition out of the select state. It is typically used to determine if conditions for selection are no longer met, prompting an unselection process.
Signature
override bool Oculus.Interaction.BestHoverInteractorGroup.ShouldUnselect

Methods

Disable ()
Implementation of IInteractor.Disable; for details, please refer to the related documentation provided for that interface.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Disable()
Returns
override void
Enable ()
Implementation of IInteractor.Enable; for details, please refer to the related documentation provided for that interface.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Enable()
Returns
override void
Hover ()
Transitions the highest-priority interactor into the hover state if conditions are met.
This method iterates through interactors, transitioning the first one that meets the hover criteria into the Hover state. The group's state updates to Hover if at least one interactor transitions successfully.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Hover()
Returns
override void
InjectAllInteractorGroupBestHover ( interactors )
Signature
void Oculus.Interaction.BestHoverInteractorGroup.InjectAllInteractorGroupBestHover(List< IInteractor > interactors)
Parameters
interactors: List< IInteractor >
Returns
void
Preprocess ()
Prepares interactors for state transitions based on current conditions and processes any necessary state changes.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Preprocess()
Returns
override void
Process ()
Processes state transitions and interactions for interactors based on the current group state and individual interactor conditions.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Process()
Returns
override void
Select ()
Initiates the selection process for the highest-priority interactor.
This method transitions the highest-priority interactor from the hover to the select state.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Select()
Returns
override void
Unhover ()
Ceases the hover state of the highest-priority interactor.
This method transitions the highest-priority interactor out of the hover state, when an interactor no longer meets the hover criteria.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Unhover()
Returns
override void
Unselect ()
Reverses the selection process for the highest-priority interactor.
This method unselects the highest-priority interactor if it no longer meets the selection criteria. If the unselection is successful, the group's state is updated to Hover.
Signature
override void Oculus.Interaction.BestHoverInteractorGroup.Unselect()
Returns
override void