示例#1
0
    /// <summary>
    /// Search for colliders in front of player, if player or breakable object attempt to deal damage to them
    /// Should be called as animation event
    /// </summary>
    public void TryDealDamage()
    {
        Collider[] hitColliders = Physics.OverlapSphere(transform.position + transform.forward, 0.8f);

        foreach (Collider col in hitColliders)
        {
            //check if enemy/ breakable object
            //deal dmaamge
            if (col.CompareTag("Enemy"))
            {
                EnemyController enemy = col.GetComponent <EnemyController>();
                if (enemy)
                {
                    enemy.ModifyHealth(damageDealt);
                }
            }
            else if (col.CompareTag("Breakable"))
            {
                BreakableObject breakable = col.GetComponent <BreakableObject>();
                if (breakable)
                {
                    breakable.ModifyHealth(damageDealt);
                }
            }
        }
    }