public void Reset(float value, float duration, IInterpolationFunction interpolation = null, float offset = 0) { _value = value; _duration = duration; _time = _offset; _lastValue = 0; _interpolation = interpolation ?? LinearInterpolation.Instance; }
public void Add(float value, float seconds = 0, IInterpolationFunction interpolation = null) { if (Mathf.Approximately(value, 0)) { return; } if (Mathf.Approximately(seconds, 0) || seconds < 0) { _modifiedValue.Increment(value); } else { _overTimeModifiers.Add(ObjectPool <InterpolatedOverTimeModifier> .Request().Reseted(value, seconds, interpolation ?? _interpolation, _lastTime - Time.time)); } }
private void SetConfiguration() { switch (splitStrategie) { case SplitStrategy.TakeEverySecond: splitter = new TakeEverySecondDataSplitter(); break; case SplitStrategy.TwoParts: splitter = new TwoPartsDataSplitter(); break; case SplitStrategy.Interval: splitter = new IntervalDataSplitter(); break; default: splitter = new TwoPartsDataSplitter(); break; } switch (interpolationStrategy) { case InterpolationStrategy.Linear: interpolationFunction = new LinearInterpolationFunction(); break; case InterpolationStrategy.Quadratic: interpolationFunction = new QuadraticInterpolationFunction(); break; case InterpolationStrategy.Bezier: interpolationFunction = new BezierInterpolationFunction(); break; default: interpolationFunction = null; break; } }
public InterpolatedOverTimeModifier Reseted(float value, float duration, IInterpolationFunction interpolation = null, float offset = 0) { Reset(value, duration, interpolation, offset); return(this); }
public PoliModifiedValue(INumericValueState <float> value, IInterpolationFunction interpolation = null) { _modifiedValue = value; _interpolation = interpolation ?? LinearInterpolation.Instance; }