public void OnHold(Holder _holder) { if (debugLog) { Debug.Log(gameObject.name + "OnHold " + gameObject.name + " To:" + _holder.name); } if (isKinematicOption == IsKinematicOption.RigidbodyToHold) { Utils.ToggleColliders(colliders, false, collidersDontToggle); rigidbodyToHold.transform.position = holder.transform.position; rigidbodyToHold.transform.rotation = holder.transform.rotation; } else if (isKinematicOption == IsKinematicOption.All) { PhysicsRigUtils.ToggleRigKinematic(transform, true); Utils.ToggleColliders(colliders, false, collidersDontToggle); transform.position = ParentPositionWithHoldPointOffset(holder.transform.position); transform.rotation = holder.transform.rotation; } else if (isKinematicOption == IsKinematicOption.None) { rigidbodyToHold.isKinematic = true; rigidbodyToHold.MovePosition(holder.transform.position); rigidbodyToHold.MoveRotation(holder.transform.rotation); } onHold.Invoke(); }
public static void ScaleEnd(Transform parent, ResetableRigidbody[] resetables, bool isKinematicAfter = false) { PhysicsRigUtils.ResetRigTransform(resetables, false); PhysicsRigUtils.FixChildJointsAfterScalingParent(parent); PhysicsRigUtils.ResetRigTransform(resetables, false, true); PhysicsRigUtils.ToggleRigKinematic(resetables, isKinematicAfter); }
public static void ScaleStart(Transform parent, ResetableRigidbody[] resetables, Transform scalePivot = null) { PhysicsRigUtils.ToggleRigKinematic(resetables, true); if (scalePivot) { PhysicsRigUtils.MoveParentToCenterOfTransform(parent, scalePivot); } else { PhysicsRigUtils.MoveParentToCenterOfChildren(parent); } PhysicsRigUtils.CacheRig(resetables); }
public void OnRelease() { if (debugLog) { Debug.Log("OnRelease " + gameObject.name); } if (isKinematicOption == IsKinematicOption.RigidbodyToHold || isKinematicOption == IsKinematicOption.All) { PhysicsRigUtils.ToggleRigKinematic(transform, false); Utils.ToggleColliders(colliders, true, collidersDontToggle); } else if (isKinematicOption == IsKinematicOption.None) { rigidbodyToHold.isKinematic = false; } onRelease.Invoke(); }
public void ToggleKinematic(bool toggle) { PhysicsRigUtils.ToggleRigKinematic(transform, toggle); }
public void FixChildJoints() { PhysicsRigUtils.FixChildJointsAfterScalingParent(transform); }
public void MoveParentToCenterOfChild() { PhysicsRigUtils.MoveParentToCenterOfChildren(transform); }
public void ResetRigTransformCached() { PhysicsRigUtils.ResetRigTransform(transform, false, true); }
public void ResetRigTransformMoveCached() { PhysicsRigUtils.ResetRigTransform(transform, true, true); }
public void ResetRigPhysics() { PhysicsRigUtils.ResetRigPhysics(transform); }
public void ResetRigTransform() { PhysicsRigUtils.ResetRigTransform(transform, false); }
public void ResetRig() { PhysicsRigUtils.FullResetRig(transform, resetables, physicsRootChild); }
void OnTweenScaleEnd(bool isKinematicAfter) { tweening = false; PhysicsRigUtils.ScaleEnd(transform, resetableRigidbodies, isKinematicAfter); onTweenScaleEnd.Invoke(); }
void OnScaleUpdate(float toScale) { PhysicsRigUtils.ScaleUpdate(transform, new Vector3(toScale, toScale, toScale)); }
void OnScaleStart() { PhysicsRigUtils.ScaleStart(transform, resetableRigidbodies); }
public void ScaleTo(float toScale, bool isKinematicAfter = false) { OnScaleStart(); OnScaleUpdate(toScale); PhysicsRigUtils.ScaleEnd(transform, resetableRigidbodies, isKinematicAfter); }