Class ValueBinding<T>
Base class used for all synced fields, properties and parameters.
public abstract class ValueBinding<T> : Binding
Type Parameters
T
The coherence value type used to serialize the field or property. The coherence value type may differ from the unity value type. For example, all integer types: uint, short, ushort, byte, char are backed by int as their coherence value type.
- Inheritance
-
ValueBinding<T>
- Derived
- Inherited Members
Constructors
ValueBinding()
protected ValueBinding()
ValueBinding(Descriptor, Component)
public ValueBinding(Descriptor descriptor, Component unityComponent)
Parameters
descriptor
DescriptorunityComponent
Component
Properties
Signature
Rich text representation of the binding's name and type that is displayed in the Configure and Optimize binding windows.
public override string Signature { get; }
Property Value
UntypedValue
The current Value expressed as an object. This is useful when the exact binding type is unknown (e.g., in unit tests) but should be avoided in hotpaths due to boxing.
public override object UntypedValue { get; }
Property Value
Value
The current value of the target field/property on the binding's Unity component. This is generally the value you'll see in the inspector.
public virtual T Value { get; set; }
Property Value
- T
Methods
ClampToRange(in T, long, long)
protected virtual T ClampToRange(in T value, long minRange, long maxRange)
Parameters
Returns
- T
CloneTo(Binding)
public override void CloneTo(Binding binding)
Parameters
binding
Binding
DiffersFrom(T, T)
protected abstract bool DiffersFrom(T first, T second)
Parameters
first
Tsecond
T
Returns
GetCompressedValue(T)
protected virtual T GetCompressedValue(T value)
Parameters
value
T
Returns
- T
GetHashCode()
public override int GetHashCode()
Returns
GetInterpolatedAt(double)
public abstract T GetInterpolatedAt(double time)
Parameters
time
double
Returns
- T
GetMemberInfo()
Returns a FieldInfo or PropertyInfo depending on the member type of the target member on the unity component. The MemberInfo is retrieved using reflection but cached to speed up subsequent access.
public override MemberInfo GetMemberInfo()
Returns
- MemberInfo
The MemberInfo for the target field or property, or null for Custom member types (e.g., animation parameters).
Exceptions
- Exception
Thrown if the member type is neither Field, Property or Custom.
GetValueUsingReflection()
protected object GetValueUsingReflection()
Returns
Interpolate(double)
public override void Interpolate(double time)
Parameters
time
double
Interpolate(double, T)
protected abstract T Interpolate(double time, T currentValue)
Parameters
time
doublecurrentValue
T
Returns
- T
InvokeValueSyncCallback()
public override void InvokeValueSyncCallback()
IsDirty(double)
public override bool IsDirty(double simulationFrameTime)
Parameters
simulationFrameTime
double
Returns
ReadComponentData(ICoherenceComponentData, Vector3)
protected abstract T ReadComponentData(ICoherenceComponentData coherenceComponent, Vector3 floatingOriginDelta)
Parameters
coherenceComponent
ICoherenceComponentDatafloatingOriginDelta
Vector3
Returns
- T
ReadComponentDataUsingReflection(ICoherenceComponentData)
protected object ReadComponentDataUsingReflection(ICoherenceComponentData componentData)
Parameters
componentData
ICoherenceComponentData
Returns
ReceiveComponentData(ICoherenceComponentData, AbsoluteSimulationFrame, Vector3)
public override void ReceiveComponentData(ICoherenceComponentData coherenceComponent, AbsoluteSimulationFrame clientFrame, Vector3 floatingOriginDelta)
Parameters
coherenceComponent
ICoherenceComponentDataclientFrame
AbsoluteSimulationFramefloatingOriginDelta
Vector3
RemoveOutdatedSamples(double)
public override void RemoveOutdatedSamples(double time)
Parameters
time
double
Reset()
public override void Reset()
ResetLastSentData()
public override void ResetLastSentData()
SampleValue()
public override void SampleValue()
SetToLastSample()
public override void SetToLastSample()
SetValueUsingReflection(object)
protected void SetValueUsingReflection(object value)
Parameters
value
object
ValidateNotBound()
public override void ValidateNotBound()
WriteComponentData(ICoherenceComponentData, double)
public override ICoherenceComponentData WriteComponentData(ICoherenceComponentData coherenceComponent, double time)
Parameters
coherenceComponent
ICoherenceComponentDatatime
double
Returns
- ICoherenceComponentData