void Shoot() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 1000, shootLayer)) { //Stop movement navMesh.ResetPath(); //Trigger anims anim.SetTrigger("shoots"); anim.SetBool("isMoving", false); frameSincePath = 0; //Turn to target transform.LookAt(new Vector3(hit.point.x, transform.position.y, hit.point.z)); //Instantiate bullet bulletInst = GameObject.Instantiate(bulletPrefab, bulletSpawner.position, bulletSpawner.rotation) as GameObject; if (hit.collider.tag == "Furniture") { shootTarget = (hit.transform.position - transform.position); shootTarget = new Vector3(shootTarget.x, 0f, shootTarget.z).normalized; } else { //Get target shootTarget = (hit.point - transform.position); shootTarget = new Vector3(shootTarget.x, 0f, shootTarget.z).normalized; } //Add force in direction of target bulletInst.GetComponent <Rigidbody> ().AddForce(shootTarget * bulletSpeed, ForceMode.Impulse); //assign humancontroller to bullet bulletInst.GetComponent <BulletBehaviour> ().human = GetComponent <HumanController> (); //Sound source.PlayOneShot(shoot, 0.8f); //Reload ammo--; StartCoroutine(Reload()); StartCoroutine(hud.UpdateArrows()); } }