// Update is called once per frame void Update() { time += Time.deltaTime; if (time >= timeTotal) { time = timeTotal; } var t = time / timeTotal; var modT = LerpMath.ModifyTimeWithStyle(style, t); var lerpedVal = Mathf.Lerp(startValue, targetValue, modT); var type = targetObject.GetType(); var field = type.GetProperty(fieldName); field.SetValue(targetObject, lerpedVal, null); if (time == timeTotal) { Destroy(this); } }
void LerpUpdate() { if (!shouldAutoStart) { return; } time += Time.deltaTime; if (time >= timeTotal) { time = timeTotal; } var t = time / timeTotal; var modT = LerpMath.ModifyTimeWithStyle(style, t); var lerpedVal = Vector3.Lerp(startValue, targetValue, modT); var type = targetObject.GetType(); var field = type.GetProperty(fieldName); field.SetValue(targetObject, lerpedVal, null); if (time == timeTotal) { if (shouldLoop) { var temp = targetValue; targetValue = startValue; startValue = temp; time = 0f; } else { Destroy(this); } } // targetObject.GetType ().GetField (fieldName).SetValue (targetObject, lerpedVal); }