Class LerpValue<T>
A generic class for managing and interpolating a value towards a target value over time.
Inheritance
Inherited Members
Namespace: UniUtils.Data
Assembly: cs.temp.dll.dll
Syntax
public class LerpValue<T>
Type Parameters
Name | Description |
---|---|
T | The type of the value to interpolate. |
Examples
using UnityEngine;
public class ExampleUsage : MonoBehaviour
{
private LerpValue<float> lerpAlpha;
void Start()
{
// Start with 0, use Mathf.Lerp, and set speed to 2
lerpAlpha = new LerpValue<float>(0f, Mathf.Lerp, 2f);
lerpAlpha.SetTarget(1f); // Targeting full alpha
}
void Update()
{
lerpAlpha.Update(Time.deltaTime);
float currentAlpha = lerpAlpha.Value;
// Use currentAlpha for fading UI, etc.
}
}
Constructors
LerpValue(T, Func<T, T, Single, T>, Single)
Initializes a new instance of the LerpValue<T> class.
Declaration
public LerpValue(T initialValue, Func<T, T, float, T> lerpFunction, float speed = 5F)
Parameters
Type | Name | Description |
---|---|---|
T | initialValue | The initial value of the interpolation. |
Func<T, T, System.Single, T> | lerpFunction | The interpolation function to use. |
System.Single | speed | The speed of interpolation (default is 5f). |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | Thrown if |
Fields
currentValue
The current interpolated value.
Declaration
protected T currentValue
Field Value
Type | Description |
---|---|
T |
lerpFunc
The interpolation function used to calculate the interpolated value.
Declaration
protected readonly Func<T, T, float, T> lerpFunc
Field Value
Type | Description |
---|---|
Func<T, T, System.Single, T> |
lerpSpeed
The speed at which the value interpolates towards the target.
Declaration
protected float lerpSpeed
Field Value
Type | Description |
---|---|
System.Single |
targetValue
The target value to interpolate towards.
Declaration
protected T targetValue
Field Value
Type | Description |
---|---|
T |
Properties
LerpSpeed
Gets the speed at which the value interpolates towards the target.
Declaration
public virtual float LerpSpeed { get; }
Property Value
Type | Description |
---|---|
System.Single | The speed of interpolation. |
Target
Gets the target value.
Declaration
public virtual T Target { get; }
Property Value
Type | Description |
---|---|
T | The target value. |
Value
Gets the current interpolated value.
Declaration
public virtual T Value { get; }
Property Value
Type | Description |
---|---|
T | The current value. |
Methods
ForceSet(T)
Immediately sets the current and target values to a specified value.
Declaration
public virtual void ForceSet(T newValue)
Parameters
Type | Name | Description |
---|---|---|
T | newValue | The value to set. |
SetLerpSpeed(Single)
Sets the speed at which the value interpolates towards the target.
Declaration
public virtual void SetLerpSpeed(float newSpeed)
Parameters
Type | Name | Description |
---|---|---|
System.Single | newSpeed | The new interpolation speed. |
SetTarget(T)
Sets a new target value for interpolation.
Declaration
public virtual void SetTarget(T newTarget)
Parameters
Type | Name | Description |
---|---|---|
T | newTarget | The new target value. |
Update(Single)
Updates the current value by interpolating towards the target value.
Declaration
public virtual void Update(float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
System.Single | deltaTime | The time elapsed since the last update. |