Пример #1
0
    private void Shoot()
    {
        if (isReloadAnimFinished && clipAmmoCount > 0)
        {
            animator.SetTrigger("gunSpin");
            UseAmmo();

            player.AddImpact(-fpsCam.transform.forward, backFireAmount);

            RaycastHit hitInfo;
            if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hitInfo, range))
            {
                DestroyableObject destroyableObject = hitInfo.transform.GetComponent <DestroyableObject>();
                Enemy             enemy             = hitInfo.transform.GetComponentInParent <Enemy>();


                if (hitInfo.transform.gameObject.tag == "DestroyableObject")
                {
                    destroyableObject.gameObject.GetComponent <BoxCollider>().enabled = false;
                    destroyableObject.ExplodeObject();
                }

                else if (hitInfo.transform.gameObject.tag == "Enemy")
                {
                    enemy.TakeDamage(damage);
                }
            }
        }
    }