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

Interactor Class

Extends MonoBehaviour
Interactor provides a base template for any kind of interaction.
Interactions can be wholly defined by three things: the concrete Interactor, the concrete Interactable, and the logic governing their coordination.
Subclasses are responsible for implementing that coordination logic via template methods that operate on the concrete interactor and interactable classes.

Protected Fields

_candidate : TInteractable
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >._candidate
_interactable : TInteractable
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >._interactable
_nativeId : ulong
Signature
ulong Oculus.Interaction.Interactor< TInteractor, TInteractable >._nativeId
_selectedInteractable : TInteractable
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >._selectedInteractable
_started : bool
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >._started

Protected Properties

Selector : ISelector
[Get][Set]
Signature
ISelector Oculus.Interaction.Interactor< TInteractor, TInteractable >.Selector

Properties

Candidate : TInteractable
[Get]
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >.Candidate
CandidateProperties : object
[Get]
Signature
virtual object Oculus.Interaction.Interactor< TInteractor, TInteractable >.CandidateProperties
Data : object
[Get]
Signature
object Oculus.Interaction.Interactor< TInteractor, TInteractable >.Data
HasCandidate : bool
[Get]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.HasCandidate
HasInteractable : bool
[Get]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.HasInteractable
HasSelectedInteractable : bool
[Get]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.HasSelectedInteractable
Identifier : int
[Get]
Signature
int Oculus.Interaction.Interactor< TInteractor, TInteractable >.Identifier
Interactable : TInteractable
[Get]
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >.Interactable
IsRootDriver : bool
[Get][Set]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.IsRootDriver
MaxIterationsPerFrame : int
[Get][Set]
Signature
int Oculus.Interaction.Interactor< TInteractor, TInteractable >.MaxIterationsPerFrame
SelectedInteractable : TInteractable
[Get]
Signature
TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >.SelectedInteractable
ShouldHover : bool
[Get]
Signature
virtual bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ShouldHover
ShouldSelect : bool
[Get]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ShouldSelect
ShouldUnhover : bool
[Get]
Signature
virtual bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ShouldUnhover
ShouldUnselect : bool
[Get]
Signature
bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ShouldUnselect
State : InteractorState
[Get]
Signature
InteractorState Oculus.Interaction.Interactor< TInteractor, TInteractable >.State
WhenInteractableSelected : MAction< TInteractable >
[Get]
Signature
MAction<TInteractable> Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenInteractableSelected
WhenInteractableSet : MAction< TInteractable >
[Get]
Signature
MAction<TInteractable> Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenInteractableSet
WhenInteractableUnselected : MAction< TInteractable >
[Get]
Signature
MAction<TInteractable> Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenInteractableUnselected
WhenInteractableUnset : MAction< TInteractable >
[Get]
Signature
MAction<TInteractable> Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenInteractableUnset

Events

WhenPostprocessed : Action
Signature
Action Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenPostprocessed
WhenPreprocessed : Action
Signature
Action Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenPreprocessed
WhenProcessed : Action
Signature
Action Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenProcessed
WhenStateChanged : Action< InteractorStateChangeArgs >
Signature
Action<InteractorStateChangeArgs> Oculus.Interaction.Interactor< TInteractor, TInteractable >.WhenStateChanged

Protected Methods

Awake ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Awake()
Returns
void
ComputeCandidate ()
Signature
abstract TInteractable Oculus.Interaction.Interactor< TInteractor, TInteractable >.ComputeCandidate()
Returns
abstract TInteractable
ComputeCandidateTiebreaker ( a , b )
Signature
virtual int Oculus.Interaction.Interactor< TInteractor, TInteractable >.ComputeCandidateTiebreaker(TInteractable a, TInteractable b)
Parameters
a: TInteractable
b: TInteractable
Returns
int
ComputeShouldSelect ()
Signature
virtual bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ComputeShouldSelect()
Returns
bool
ComputeShouldUnselect ()
Signature
virtual bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.ComputeShouldUnselect()
Returns
bool
DoHoverUpdate ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.DoHoverUpdate()
Returns
void
DoNormalUpdate ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.DoNormalUpdate()
Returns
void
DoPostprocess ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.DoPostprocess()
Returns
void
DoPreprocess ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.DoPreprocess()
Returns
void
DoSelectUpdate ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.DoSelectUpdate()
Returns
void
HandleDisabled ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.HandleDisabled()
Returns
void
HandleEnabled ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.HandleEnabled()
Returns
void
HandleSelected ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.HandleSelected()
Returns
void
HandleUnselected ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.HandleUnselected()
Returns
void
InteractableSelected ( interactable )
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InteractableSelected(TInteractable interactable)
Parameters
interactable: TInteractable
Returns
void
InteractableSet ( interactable )
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InteractableSet(TInteractable interactable)
Parameters
interactable: TInteractable
Returns
void
InteractableUnselected ( interactable )
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InteractableUnselected(TInteractable interactable)
Parameters
interactable: TInteractable
Returns
void
InteractableUnset ( interactable )
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InteractableUnset(TInteractable interactable)
Parameters
interactable: TInteractable
Returns
void
OnDestroy ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.OnDestroy()
Returns
void
OnDisable ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.OnDisable()
Returns
void
OnEnable ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.OnEnable()
Returns
void
Start ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Start()
Returns
void
Update ()
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Update()
Returns
void

Methods

CanSelect ( interactable )
Determines if an interactor can interact with an interactable.
Signature
virtual bool Oculus.Interaction.Interactor< TInteractor, TInteractable >.CanSelect(TInteractable interactable)
Parameters
interactable: TInteractable  The interactable to check against.
Returns
bool  True if the interactor can interact with the given interactable.
ClearComputeCandidateOverride ()
Clears the function provided in SetComputeCandidateOverride().
This is called when the interactor force releases an interactable.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.ClearComputeCandidateOverride()
Returns
void
ClearComputeShouldSelectOverride ()
Clears the function provided in SetComputeShouldSelectOverride().
This is called when the interactor force releases an interactable.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.ClearComputeShouldSelectOverride()
Returns
void
ClearComputeShouldUnselectOverride ()
Clears the function provided in SetComputeShouldUnselectOverride().
This is called when the interactor unselects an interactable.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.ClearComputeShouldUnselectOverride()
Returns
void
Disable ()
Disables an interactor.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Disable()
Returns
void
Drive ()
Coordinates all of the interactor's interaction logic.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Drive()
Returns
void
Enable ()
Enables a disabled interactor.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Enable()
Returns
void
Hover ()
Hovers the current candidate.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Hover()
Returns
void
InjectOptionalActiveState ( activeState )
Sets an IActiveState for the interactor on a dynamically instantiated GameObject.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InjectOptionalActiveState(IActiveState activeState)
Parameters
activeState: IActiveState
Returns
void
InjectOptionalCandidateTiebreaker ( candidateTiebreaker )
Sets a candidate tiebreaker for the interactor on a dynamically instantiated GameObject.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InjectOptionalCandidateTiebreaker(IComparer< TInteractable > candidateTiebreaker)
Parameters
candidateTiebreaker: IComparer< TInteractable >
Returns
void
InjectOptionalData ( data )
Sets data for the interactor on a dynamically instantiated GameObject.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InjectOptionalData(object data)
Parameters
data: object
Returns
void
InjectOptionalInteractableFilters ( interactableFilters )
Sets an set of interactable filters for the interactor on a dynamically instantiated GameObject.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InjectOptionalInteractableFilters(List< IGameObjectFilter > interactableFilters)
Parameters
interactableFilters: List< IGameObjectFilter >
Returns
void
InteractableChangesUpdate ()
Causes the interactor to unselect or unhover an interactable.
Called when an interactable is currently selected or hovered but a cancel <cref="IPointerEvent" /> occurs.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.InteractableChangesUpdate()
Returns
void
Postprocess ()
Executes any logic that should run after the interactor-specific logic.
Runs after both Process() and Preprocess().
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Postprocess()
Returns
void
Preprocess ()
Executes any logic that should run before the interactor-specific logic.
Runs before Process() and Postprocess().
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Preprocess()
Returns
void
Process ()
Runs interactor-specific logic based on the interactor's current state.
Runs after Preprocess() but before Postprocess(). Can be called multiple times per interaction frame.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Process()
Returns
void
ProcessCandidate ()
Determines what the interactable candidate should be.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.ProcessCandidate()
Returns
void
Select ()
Selects the target interactable and sets the interactor's state to select.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Select()
Returns
void
SetComputeCandidateOverride ( computeCandidate , shouldClearOverrideOnSelect )
Overrides the interactor's ComputeCandidate() method with a new method.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.SetComputeCandidateOverride(Func< TInteractable > computeCandidate, bool shouldClearOverrideOnSelect=true)
Parameters
computeCandidate: Func< TInteractable >  The method used instead of the interactable's existing ComputeCandidate() method.
shouldClearOverrideOnSelect: bool  If true, clear the computeCandidate function once you select an interactable.
Returns
void
SetComputeShouldSelectOverride ( computeShouldSelect , clearOverrideOnSelect )
Overrides the interactor's ComputeShouldSelect() method with a new method.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.SetComputeShouldSelectOverride(Func< bool > computeShouldSelect, bool clearOverrideOnSelect=true)
Parameters
computeShouldSelect: Func< bool >  The method used instead of the interactor's existing ComputeShouldSelect() method.
clearOverrideOnSelect: bool  If true, clear the computeShouldSelect function once you select an interactable.
Returns
void
SetComputeShouldUnselectOverride ( computeShouldUnselect , clearOverrideOnUnselect )
Overrides the interactor's ComputeShouldUnselect() method with a new method.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.SetComputeShouldUnselectOverride(Func< bool > computeShouldUnselect, bool clearOverrideOnUnselect=true)
Parameters
computeShouldUnselect: Func< bool >  The method used instead of the interactor's existing ComputeShouldUnselect() method.
clearOverrideOnUnselect: bool  If true, clear the computeShouldUnselect function once you unselect an interactable.
Returns
void
Unhover ()
Unhovers the current candidate.
Signature
void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Unhover()
Returns
void
Unselect ()
Unselects the currently selected interactable and sets the interactor's state to hover.
Signature
virtual void Oculus.Interaction.Interactor< TInteractor, TInteractable >.Unselect()
Returns
void