private void OnCollisionEnter(Collision collision) { Enemy enmey = collision.gameObject.GetComponent <Enemy>(); if (enmey != null) { player.TakeDamage(5); ServiceLocator.Get <GameManager>().UpdateHealthBar(player.CurrentHealth); } }
private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Projectile") { Projectile projectile = collision.gameObject.GetComponent <Projectile>(); if (projectile.activeDamage) { projectile.ResetProjectile(); dObject.TakeDamage(projectile.GetDamage()); } } }
void SearchObjectToDamage() { Vector2 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); clickedObject = Physics2D.Raycast(mouseWorldPos, Vector2.zero); if (clickedObject && clickedObject.collider.GetComponent <DestructibleObject>()) { DestructibleObject dObject = clickedObject.collider.GetComponent <DestructibleObject>(); Vector2 closestPointOnObject = clickedObject.collider.bounds.ClosestPoint(transform.position); if (Vector2.Distance(transform.position, closestPointOnObject) < 5f && dObject.State != DestructibleObject.DestructionState.Destroyed) { dObject.TakeDamage(player.damage); } } }
void HitATarget() { RaycastHit hit; if (Physics.Raycast(mainCamera.transform.position, mainCamera.transform.forward, out hit, range)) { DestructibleObject target = hit.transform.GetComponent <DestructibleObject>(); if (target != null) { target.TakeDamage(damage); } if (hit.rigidbody != null) { hit.rigidbody.AddForce(-hit.normal * impactForce); } GameObject impactObject = Instantiate(Impact, hit.point, Quaternion.LookRotation(hit.normal)); Destroy(impactObject, 2f); } }