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());
         }
     }
 }
Exemple #3
0
    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);
        }
    }