void SetPhysicsActive(bool aActive, bool excludeCollision) { if (rigidbody) { if (!mSpawnRigidBodyKinematic) { rigidbody.isKinematic = !aActive; } if (aActive || !excludeCollision) { rigidbody.detectCollisions = aActive; } } if (collider && (aActive || !excludeCollision)) { collider.enabled = aActive; } if (mGravCtrl) { mGravCtrl.enabled = aActive; } if (animator) { if (aActive) { if (animator.isPaused) { animator.Resume(); } } else { if (animator.isPlaying) { animator.Pause(); } } } if (mBodyCtrl) { mBodyCtrl.enabled = aActive; } for (int i = 0, max = mDamageTriggers.Length; i < max; i++) { mDamageTriggers[i].gameObject.SetActive(aActive); } }
protected void SetPhysicsActive(bool aActive, bool excludeCollision) { if (rigidbody) { if (!mSpawnRigidBodyKinematic) { rigidbody.isKinematic = !aActive; } if (aActive || !excludeCollision) { rigidbody.detectCollisions = aActive; } } if (collider && (aActive || !excludeCollision)) { collider.enabled = aActive; } if (mGravCtrl) { mGravCtrl.enabled = aActive; } if (animator) { if (aActive) { if (animator.isPaused) { animator.Resume(); } } else { if (animator.isPlaying) { animator.Pause(); } } } if (mBodyCtrl) { mBodyCtrl.enabled = aActive; } SetDamageTriggerActive(aActive); }