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

InteractorGroup Class

Extends MonoBehaviour
Base class from which you should inherit if you are creating an interactor group.
Interactor groups are collections of IInteractors which control the interactors within them, managing their execution and selecting which interactors are permitted to adopt which states. Information on the role and usage of interactor groups can be found in the documentation.

Protected Fields

_candidateComparer : UnityEngine.Object
Signature
UnityEngine.Object Oculus.Interaction.InteractorGroup._candidateComparer
_interactors : List< UnityEngine.Object >
Signature
List<UnityEngine.Object> Oculus.Interaction.InteractorGroup._interactors
_started : bool
Signature
bool Oculus.Interaction.InteractorGroup._started
CandidateComparer : ICandidateComparer
Signature
ICandidateComparer Oculus.Interaction.InteractorGroup.CandidateComparer

Fields

Data : object
Implementation of IInteractorView.Data; for details, please refer to the related documentation provided for that interface.
Signature
object Oculus.Interaction.InteractorGroup.Data
Identifier : int
Implementation of IInteractorView.Identifier; for details, please refer to the related documentation provided for that interface.
Signature
int Oculus.Interaction.InteractorGroup.Identifier
Interactors : IReadOnlyList< IInteractor >
The list of IInteractors contained in and controlled by this interactor group.
Each interactor can only be in a single group to avoid conflicts from having multiple groups attempting to control the same interactor. This field is initialized during the MonoBehaviour start-up process from values set in the UnityEditor or through InjectInteractors(List<IInteractor>). Modifying the set of interactors in a group at runtime is not supported.
Signature
IReadOnlyList<IInteractor> Oculus.Interaction.InteractorGroup.Interactors

Protected Static Fields

HasCandidatePredicate : readonly InteractorPredicate
Signature
readonly InteractorPredicate Oculus.Interaction.InteractorGroup.HasCandidatePredicate
HasInteractablePredicate : readonly InteractorPredicate
Signature
readonly InteractorPredicate Oculus.Interaction.InteractorGroup.HasInteractablePredicate
TruePredicate : readonly InteractorPredicate
Signature
readonly InteractorPredicate Oculus.Interaction.InteractorGroup.TruePredicate

Properties

CandidateProperties : abstract object
[Get]
Signature
abstract object Oculus.Interaction.InteractorGroup.CandidateProperties
HasCandidate : abstract bool
[Get]
Implementation of IInteractorView.HasCandidate; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.HasCandidate
HasInteractable : abstract bool
[Get]
Implementation of IInteractorView.HasInteractable; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.HasInteractable
HasSelectedInteractable : abstract bool
[Get]
Implementation of IInteractorView.HasSelectedInteractable; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.HasSelectedInteractable
IsRootDriver : bool
[Get][Set]
Implementation of IUpdateDriver.IsRootDriver; for details, please refer to the related documentation provided for that interface.
Signature
bool Oculus.Interaction.InteractorGroup.IsRootDriver
MaxIterationsPerFrame : int
[Get][Set]
This is an internal API which sets or retrieves the maximum number of times the interactor group will execute its processing loop (assessing and enacting changes in the groups InteractorState, among other effects) within a single frame.
The implications of this are complex, and depending on or modifying this value is not recommended.
Signature
int Oculus.Interaction.InteractorGroup.MaxIterationsPerFrame
ShouldHover : abstract bool
[Get]
Implementation of IInteractor.ShouldHover; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.ShouldHover
ShouldSelect : abstract bool
[Get]
Implementation of IInteractor.ShouldSelect; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.ShouldSelect
ShouldUnhover : abstract bool
[Get]
Implementation of IInteractor.ShouldUnhover; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.ShouldUnhover
ShouldUnselect : abstract bool
[Get]
Implementation of IInteractor.ShouldUnselect; for details, please refer to the related documentation provided for that interface.
Signature
abstract bool Oculus.Interaction.InteractorGroup.ShouldUnselect
State : InteractorState
[Get]
Implementation of IInteractorView.State; for details, please refer to the related documentation provided for that interface.
Signature
InteractorState Oculus.Interaction.InteractorGroup.State

Events

WhenPostprocessed : Action
Implementation of IInteractorView.WhenPostprocessed; for details, please refer to the related documentation provided for that interface.
Signature
Action Oculus.Interaction.InteractorGroup.WhenPostprocessed
WhenPreprocessed : Action
Implementation of IInteractorView.WhenPreprocessed; for details, please refer to the related documentation provided for that interface.
Signature
Action Oculus.Interaction.InteractorGroup.WhenPreprocessed
WhenProcessed : Action
Implementation of IInteractorView.WhenProcessed; for details, please refer to the related documentation provided for that interface.
Signature
Action Oculus.Interaction.InteractorGroup.WhenProcessed
WhenStateChanged : Action< InteractorStateChangeArgs >
Implementation of IInteractorView.WhenStateChanged; for details, please refer to the related documentation provided for that interface.
Signature
Action<InteractorStateChangeArgs> Oculus.Interaction.InteractorGroup.WhenStateChanged

Protected Methods

AnyInteractor ( predicate )
Signature
bool Oculus.Interaction.InteractorGroup.AnyInteractor(InteractorPredicate predicate)
Parameters
predicate: InteractorPredicate
Returns
bool
Awake ()
Signature
virtual void Oculus.Interaction.InteractorGroup.Awake()
Returns
void
CompareCandidates ( indexA , indexB )
Signature
int Oculus.Interaction.InteractorGroup.CompareCandidates(int indexA, int indexB)
Parameters
indexA: int
indexB: int
Returns
int
DisableAllExcept ( mainInteractor )
Signature
void Oculus.Interaction.InteractorGroup.DisableAllExcept(IInteractor mainInteractor)
Parameters
mainInteractor: IInteractor
Returns
void
EnableAllExcept ( mainInteractor )
Signature
void Oculus.Interaction.InteractorGroup.EnableAllExcept(IInteractor mainInteractor)
Parameters
mainInteractor: IInteractor
Returns
void
InteractorPredicate ( interactor , index )
Signature
delegate bool Oculus.Interaction.InteractorGroup.InteractorPredicate(IInteractor interactor, int index)
Parameters
interactor: IInteractor
index: int
Returns
delegate bool
OnDestroy ()
Signature
virtual void Oculus.Interaction.InteractorGroup.OnDestroy()
Returns
void
OnDisable ()
Signature
virtual void Oculus.Interaction.InteractorGroup.OnDisable()
Returns
void
OnEnable ()
Signature
virtual void Oculus.Interaction.InteractorGroup.OnEnable()
Returns
void
Start ()
Signature
virtual void Oculus.Interaction.InteractorGroup.Start()
Returns
void
TryGetBestCandidateIndex ( predicate , bestCandidateIndex , betterThan , skipIndex )
Signature
bool Oculus.Interaction.InteractorGroup.TryGetBestCandidateIndex(InteractorPredicate predicate, out int bestCandidateIndex, int betterThan=-1, int skipIndex=-1)
Parameters
predicate: InteractorPredicate
bestCandidateIndex: out int
betterThan: int
skipIndex: int
Returns
bool
Update ()
Signature
virtual void Oculus.Interaction.InteractorGroup.Update()
Returns
void
UpdateActiveState ()
Signature
bool Oculus.Interaction.InteractorGroup.UpdateActiveState()
Returns
bool

Methods

Disable ()
Implementation of IInteractor.Disable; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Disable()
Returns
void
Drive ()
Implementation of IUpdateDriver.Drive; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Drive()
Returns
void
Enable ()
Implementation of IInteractor.Enable; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Enable()
Returns
void
Hover ()
Implementation of IInteractor.Hover; for details, please refer to the related documentation provided for that interface.
Signature
abstract void Oculus.Interaction.InteractorGroup.Hover()
Returns
abstract void
InjectAllInteractorGroupBase ( interactors )
Convenience method that injects all required dependencies for a dynamically instantiated InteractorGroup; because only one dependency is required, this method simlpy wraps InjectInteractors(List<IInteractor>).
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.InteractorGroup.InjectAllInteractorGroupBase(List< IInteractor > interactors)
Parameters
interactors: List< IInteractor >
Returns
void
InjectInteractors ( interactors )
Adds a list of IInteractors to a dynamically instantiated InteractorGroup.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.InteractorGroup.InjectInteractors(List< IInteractor > interactors)
Parameters
interactors: List< IInteractor >
Returns
void
InjectOptionalActiveState ( activeState )
Adds an IActiveState to a dynamically instantiated InteractorGroup.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.InteractorGroup.InjectOptionalActiveState(IActiveState activeState)
Parameters
activeState: IActiveState
Returns
void
InjectOptionalCandidateComparer ( candidateComparer )
Adds an ICandidateComparer to a dynamically instantiated InteractorGroup.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.InteractorGroup.InjectOptionalCandidateComparer(ICandidateComparer candidateComparer)
Parameters
candidateComparer: ICandidateComparer
Returns
void
Postprocess ()
Implementation of IInteractor.Postprocess; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Postprocess()
Returns
void
Preprocess ()
Implementation of IInteractor.Preprocess; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Preprocess()
Returns
void
Process ()
Implementation of IInteractor.Process; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.Process()
Returns
void
ProcessCandidate ()
Implementation of IInteractor.ProcessCandidate; for details, please refer to the related documentation provided for that interface.
Signature
virtual void Oculus.Interaction.InteractorGroup.ProcessCandidate()
Returns
void
Select ()
Implementation of IInteractor.Select; for details, please refer to the related documentation provided for that interface.
Signature
abstract void Oculus.Interaction.InteractorGroup.Select()
Returns
abstract void
Unhover ()
Implementation of IInteractor.Unhover; for details, please refer to the related documentation provided for that interface.
Signature
abstract void Oculus.Interaction.InteractorGroup.Unhover()
Returns
abstract void
Unselect ()
Implementation of IInteractor.ShouldUnselect; for details, please refer to the related documentation provided for that interface.
Signature
abstract void Oculus.Interaction.InteractorGroup.Unselect()
Returns
abstract void

Protected Static Methods

CompareStates ( a , b )
Compares two InteractorStates indicating which one is higher in the Active State chain
Signature
static int Oculus.Interaction.InteractorGroup.CompareStates(InteractorState a, InteractorState b)
Parameters
a: InteractorState  First state to compare
b: InteractorState  Seconds state to compare
Returns
int  1 if b is higher than a, -1 if a is higher than b. 0 of they are equal