Class BaseAffordanceStateReceiver<T>
Abstract base class for affordance state receivers used to expose the typed functions and properties necessary for an affordance state receiver to work.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver
Assembly: Unity.XR.Interaction.Toolkit.dll
Syntax
public abstract class BaseAffordanceStateReceiver<T> : MonoBehaviour, IAffordanceStateReceiver<T>, IAffordanceStateReceiver where T : struct, IEquatable<T>
Type Parameters
Name | Description |
---|---|
T | The type of the value struct. |
Properties
affordanceStateProvider
Affordance state provider reference used to drive the receiver's affordance state.
Declaration
public BaseAffordanceStateProvider affordanceStateProvider { get; set; }
Property Value
Type | Description |
---|---|
BaseAffordanceStateProvider |
affordanceTheme
Affordance theme, used to map affordance state to a typed affordance value.
Declaration
public BaseAffordanceTheme<T> affordanceTheme { get; set; }
Property Value
Type | Description |
---|---|
BaseAffordanceTheme<T> |
affordanceValue
Bindable variable for current typed affordance value. Updated as scheduled tween jobs complete.
Declaration
protected abstract BindableVariable<T> affordanceValue { get; }
Property Value
Type | Description |
---|---|
BindableVariable<T> |
See Also
currentAffordanceStateData
Bindable variable holding the last affordance state passed in by the affordance state provider.
Declaration
public IReadOnlyBindableVariable<AffordanceStateData> currentAffordanceStateData { get; }
Property Value
Type | Description |
---|---|
IReadOnlyBindableVariable<AffordanceStateData> |
currentAffordanceValue
Bindable variable for current typed affordance value. Updated as scheduled tween jobs complete.
Declaration
public IReadOnlyBindableVariable<T> currentAffordanceValue { get; }
Property Value
Type | Description |
---|---|
IReadOnlyBindableVariable<T> |
defaultAffordanceTheme
The default affordance theme that is cloned and assigned to affordanceTheme during initialization if that property is not set.
Declaration
protected abstract BaseAffordanceTheme<T> defaultAffordanceTheme { get; }
Property Value
Type | Description |
---|---|
BaseAffordanceTheme<T> |
Remarks
This should typically be the theme contained in a serialized ScriptableObject asset reference.
See Also
initialValue
Initial affordance value captured from the derived receiver class. Used in certain tween jobs, and can also be used to replace the idle state of a theme.
Declaration
protected T initialValue { get; set; }
Property Value
Type | Description |
---|---|
T |
initialValueCaptured
Flag informing whether the initial value has been captured yet.
Declaration
protected bool initialValueCaptured { get; set; }
Property Value
Type | Description |
---|---|
bool |
replaceIdleStateValueWithInitialValue
If true, the initial captured state value for the receiver will replace the idle value in the affordance theme.
Declaration
public bool replaceIdleStateValueWithInitialValue { get; set; }
Property Value
Type | Description |
---|---|
bool |
Methods
Awake()
See MonoBehaviour.
Declaration
protected virtual void Awake()
CaptureInitialValue()
One time call that captures the initial value used for certain processing operations.
Declaration
protected virtual void CaptureInitialValue()
ConsumeAffordance(T)
Update the affordance state with the new affordance value. Automatically called by Unity after the affordance tween output is calculated.
Declaration
protected virtual void ConsumeAffordance(T newValue)
Parameters
Type | Name | Description |
---|---|---|
T | newValue | The new typed affordance value. |
See Also
GenerateNewAffordanceThemeInstance()
Automatically called by Unity during initialization to create a new instance of the affordance theme used for this receiver.
Declaration
protected abstract BaseAffordanceTheme<T> GenerateNewAffordanceThemeInstance()
Returns
Type | Description |
---|---|
BaseAffordanceTheme<T> | Returns a new instance of the affordance theme. |
GetCurrentValueForCapture()
Function used to get the current value of the receiver's target property. Is overriden for material properties or other targets where the initial state exists outside the receiver.
Declaration
protected virtual T GetCurrentValueForCapture()
Returns
Type | Description |
---|---|
T | Initial value. |
OnAffordanceStateUpdated(AffordanceStateData, AffordanceStateData)
Called by the affordance state provider to inform the receiver of the previous state and new state.
Declaration
public virtual void OnAffordanceStateUpdated(AffordanceStateData previousState, AffordanceStateData newState)
Parameters
Type | Name | Description |
---|---|---|
AffordanceStateData | previousState | Previous affordance state. |
AffordanceStateData | newState | New Affordance state. |
OnAffordanceThemeChanged(BaseAffordanceTheme<T>)
Called when the affordance theme changes for this receiver, allowing proper setup to take place as a result.
Declaration
protected virtual void OnAffordanceThemeChanged(BaseAffordanceTheme<T> newValue)
Parameters
Type | Name | Description |
---|---|---|
BaseAffordanceTheme<T> | newValue | New affordance theme set for this receiver. |
See Also
OnAffordanceValueUpdated(T)
Method that is called when the typed affordance value is updated. Implement this method in a derived class to apply the current affordance value, such as setting a material property or raising an event.
Declaration
protected abstract void OnAffordanceValueUpdated(T newValue)
Parameters
Type | Name | Description |
---|---|---|
T | newValue | New typed affordance value. |
OnDisable()
See MonoBehaviour.
Declaration
protected virtual void OnDisable()
OnEnable()
See MonoBehaviour.
Declaration
protected virtual void OnEnable()
ProcessTargetAffordanceValue(T)
Overrideable function that allows a receiver to modify the target affordance value before the tween is calculated.
Declaration
protected virtual T ProcessTargetAffordanceValue(T newValue)
Parameters
Type | Name | Description |
---|---|---|
T | newValue | Target tween value used if no processing is applied. |
Returns
Type | Description |
---|---|
T | Processed target tween value. |
Start()
See MonoBehaviour.
Declaration
protected virtual void Start()