private void FixedUpdate() { if ((angularJoint != null && !angularJoint.jointCreated) || (angularJoint == null && joint == null)) { return; } if (angularJoint != null) { angle = angularJoint.GetValue(); } else { angle = joint.GetXAngle(invInitialLocalRotation); } float num = 0f; if (angle < fromDeadAngle) { num = ((!discrete) ? (0f - Mathf.InverseLerp(fromDeadAngle, fromAngle, angle)) : (-1f)); } if (angle > toDeadAngle) { num = ((!discrete) ? Mathf.InverseLerp(toDeadAngle, toAngle, angle) : 1f); } if (respringBlock > 0f) { respringBlock -= Time.fixedDeltaTime; if (respringBlock > 0f) { return; } } if (output.value != num) { output.SetValue(num); if (snapTo.connectedNode == null) { CheckSnap(num, forcePosition: false); } } }
protected override float GetActualPosition() { return(joint.GetXAngle(invInitialLocalRotation) - initialValue); }