private void OnCollisionEnter(Collision collision) { WeaponHolder componentWeaponHolder = collision.gameObject.GetComponent <WeaponHolder>(); if (null != componentWeaponHolder) { // // Show correct weapon in body bool bCanSwitch = componentWeaponHolder.SetWeaponTypeToSwitchTo(_Weapon.WeaponType, gameObject.GetComponent <WeaponShot>().loaderSize); // // Destroy current weapon if (bCanSwitch) { Destroy(gameObject); // // Play the pick sound AudioManager.GetInstance().PlaySoundEffect(m_pickSound, 1.0f); } else { float fSpeed = gameObject.GetComponent <Rigidbody>().velocity.magnitude; if (fSpeed >= 5.0f) { PlayerGameplay player = collision.gameObject.GetComponent <PlayerGameplay>(); Vector3 dir = collision.contacts[0].point - transform.position; player.TakeDamages(30.0f, dir, 1.3f); } } } }
private void OnTriggerEnter(Collider other) { PlayerGameplay player = other.gameObject.GetComponent <PlayerGameplay>(); if (null != player && other.gameObject != transform.parent.gameObject) { Vector3 dir = player.transform.position - transform.position; player.TakeDamages(damages, dir, ejectionFactor); } }
void OnCollisionEnter(Collision collision) { PlayerGameplay player = collision.gameObject.GetComponent <PlayerGameplay>(); if (null != player) { Vector3 dir = collision.contacts[0].point - transform.position; player.TakeDamages(damages, dir, ejectionFactor); } }
void OnCollisionEnter(Collision collision) { if (IsRocket) { TriggerHitEffect(); } else { PlayerGameplay player = collision.gameObject.GetComponent <PlayerGameplay>(); if (null != player) { // Collision orientation Vector3 dir = collision.contacts[0].point - transform.position; // Opposite dir = -dir.normalized; player.TakeDamages(Damages, dir, EjectionFactor); TriggerHitEffect(); } } Destroy(gameObject); }