public override void Simulate(float time) { for (int i = 0; i < providers.Count; i++) { Vector3 currentTween = new Vector3(SimulateFunction.Invoke(time, 0.0f, floatShifts[i].x, duration) , SimulateFunction.Invoke(time, 0.0f, floatShifts[i].y, duration) , SimulateFunction.Invoke(time, 0.0f, floatShifts[i].z, duration)); Vector3 delta = currentTween - floatPreviosValue[i]; providers[i].Value *= Quaternion.Euler(delta); floatPreviosValue[i] = currentTween; } }
public override void Simulate(float time) { for (int i = 0; i < this.providers.Count; i++) { Vector2 currentTween = new Vector2( SimulateFunction.Invoke(time, 0.0f, shifts[i].x, duration), SimulateFunction.Invoke(time, 0.0f, shifts[i].y, duration) ); values[i] = new Vector2( values[i].x + (currentTween.x - previosValue[i].x), values[i].y + (currentTween.y - previosValue[i].y) ); providers[i].Value = values[i]; previosValue[i] = currentTween; } }