private void SetHitBoxesForEnemie(EnemieElementsComponent enemie) { foreach (var rb in enemie.ragdollsRigidbodies) { HitBoxComponent hitBox = rb.gameObject.AddComponent <HitBoxComponent>(); hitBox.enemieElements = enemie; } }
public void ChangeEnemieRagdollState(EnemieElementsComponent enemie, bool activateRagdoll) { foreach (var rb in enemie.ragdollsRigidbodies) { rb.isKinematic = !activateRagdoll; rb.useGravity = activateRagdoll; } enemie.animator.enabled = !activateRagdoll; }
public void ApplyForceToEnemie(EnemieElementsComponent enemieElementsComponent, Vector3 positionOfForce) { var hips = enemieElementsComponent.animator.GetBoneTransform(HumanBodyBones.Hips); float forcePower = UnityEngine.Random.Range(config.GetValue(EGameValue.minPowerOfBulletsExplosion), config.GetValue(EGameValue.maxPowerOfBulletsExplosion)); Vector3 forceDirection = (hips.position - positionOfForce).normalized; var rb = hips.GetComponent <Rigidbody>(); rb.AddForce(forcePower * forceDirection, ForceMode.VelocityChange); }