override protected void TweenUpdateRuntime(float factor, bool isFinished) { if (ignoreZ) { float oldZ = CachedTransform.position.z; CachedTransform.position = beginTransform.position * (1f - factor) + endTransform.position * factor; CachedTransform.SetGlobalPositionZ(oldZ); } else { CachedTransform.position = beginTransform.position * (1f - factor) + endTransform.position * factor; } if (ignoreRotation) { CachedTransform.rotation = beginTransform.rotation; } else { CachedTransform.rotation = Quaternion.Euler(beginTransform.rotation.eulerAngles * (1f - factor) + endTransform.rotation.eulerAngles * factor); } }