void Attack()
    {
        audio.PlayOneShot(attackSoundClip);

        lastAttackTime = Time.time;

        playerStats.ammoCount--;

        if (hasFired != null)
        {
            hasFired();
        }


        RaycastHit hit;
        var        camera = Camera.main;


        var direction = camera.transform.TransformDirection(Vector3.forward);

        if (Physics.Raycast(camera.transform.position, direction, out hit, attackDistance, hitMask) == false)
        {
            return;
        }

        ActivateHitables.HitAll(hit.collider.gameObject);
    }
Example #2
0
    public LayerMask hitMask; //the reason is if we might want to ignore more than player object



    void Attack()
    {
        //this crates a sphere cast at a point we determine and checks if it has intersected with any game objects
        var hits = Physics.OverlapSphere(AttackPoint.position, 0.5f, hitMask);

        foreach (var hit in hits)
        {
            ActivateHitables.HitAll(hit.gameObject);
        }
    }
    private void Attack()
    {
        if (!IsInAttackRange && enemyKill.IsDead)
        {
            return;
        }

        ActivateHitables.HitAll(player.gameObject);

        animation.CrossFade(attackAnimation.name);

        audio.PlayOneShot(attackAudio);

        isCharging = false;
    }