/// <summary> /// Called when player presses the shoot key /// </summary> private void shootAction() { if (!_shooting) { _shooting = true; if (_weaponAnimate != null) { Vector3 newPos = new Vector3(_playerWeapon.transform.localPosition.x, _playerWeapon.transform.localPosition.y + _adjustWeapon, _playerWeapon.transform.localPosition.z - _adjustWeapon); _playerWeapon.transform.localPosition = newPos; _weaponAnimate.PlayFireAnim(); } RaycastHit shootHit; if (Physics.Raycast(_playerCamera.transform.position, _playerCamera.transform.forward, out shootHit, _shootRange, _layerMask, QueryTriggerInteraction.Ignore)) { Transform target = shootHit.transform; if (target.CompareTag("Enemy")) { FairyHealth enemyHealth = target.GetComponent <FairyHealth>(); GameObject hit = Instantiate(enemyHealth.HitEffect, shootHit.point, Quaternion.Euler(transform.forward)) as GameObject; if (enemyHealth != null) { enemyHealth.Hit(); } } else { Debug.Log(target); GameObject hit = Instantiate(_hitEffect, shootHit.point, Quaternion.Euler(transform.forward)) as GameObject; } } StartCoroutine(StopShoot(_shootSpeed)); } }