private void Awake() { crosshairManager = GetComponentInChildren <CrosshairManager>(); changeWeapon = GetComponent <ChangeWeapon>(); bulletManager = bullet.GetComponent <BulletManager>(); weaponSetting = changeWeapon.guns[changeWeapon.arrayIndex].GetComponent <WeaponSetting>(); }
private void Shoot() { bShooting = true; weaponSetting = GetComponentInChildren <WeaponSetting>(); bulletSpeed = weaponSetting.bulletSpeed; bulletManager.damage = weaponSetting.maxDamage; Vector3 vecToPlayer = (player.transform.position + Vector3.up * 1.5f) - bulletPoint.position; Quaternion lookAtPlayer = Quaternion.LookRotation(vecToPlayer); bulletPoint.rotation = lookAtPlayer; shootLine.enabled = true; shootLine.SetPosition(0, bulletPoint.position); RaycastHit hit; if (Physics.Raycast(bulletPoint.position, bulletPoint.forward, out hit, range, environmentLayer)) { shootLine.SetPosition(1, hit.point); } else { shootLine.SetPosition(1, bulletPoint.position + bulletPoint.forward * range); } Rigidbody bullet = Instantiate(bulletInstance, bulletPoint.position, bulletPoint.rotation) as Rigidbody; bullet.velocity = bulletSpeed * bulletPoint.forward; AudioSource.PlayClipAtPoint(shootAudio, bulletPoint.position); }
private void SetWeapon(int index) { arrayIndex = index; DisableAllWeapons(); guns[index].SetActive(true); currentWeaponUI = guns[index].GetComponent <Image>().sprite; gunImageUI.sprite = currentWeaponUI; weaponSetting = guns[index].GetComponent <WeaponSetting>(); bulletNumUI.text = weaponSetting.bulletNum.ToString(); }
private void Update() { timer += Time.deltaTime; weaponSetting = changeWeapon.guns[changeWeapon.arrayIndex].GetComponent <WeaponSetting>(); if (Input.GetButton("Fire1") && timer >= shootInterval && weaponSetting.bulletNum > 0) { Shoot(); } if (Input.GetButton("Fire1") && timer >= shootInterval && weaponSetting.bulletNum <= 0) { timer = 0f; AudioSource.PlayClipAtPoint(outOfAmmoAudio, bulletPoint.position); } }
private void Shoot() { timer = 0f; bShooting = true; weaponSetting = GetComponentInChildren <WeaponSetting>(); bulletSpeed = weaponSetting.bulletSpeed; bulletManager.damage = weaponSetting.maxDamage; Vector3 vecToPlayer = (player.transform.position + Vector3.up * 1.5f) - muzzle.position; Quaternion lookAtPlayer = Quaternion.LookRotation(vecToPlayer); muzzle.rotation = lookAtPlayer; shootLine.enabled = true; shootLine.SetPosition(0, muzzle.position); shootLine.SetPosition(1, muzzle.position + muzzle.forward * range); Rigidbody bullet = Instantiate(bulletInstance, muzzle.position, muzzle.rotation) as Rigidbody; bullet.velocity = bulletSpeed * muzzle.forward; AudioSource.PlayClipAtPoint(shootAudio, muzzle.position); }
private void Shoot() { timer = 0f; bShooting = true; weaponSetting = GetComponentInChildren <WeaponSetting>(); bulletSpeed = weaponSetting.bulletSpeed; bulletManager.damage = weaponSetting.maxDamage; muzzle.LookAt(crosshairManager.raycastPoint); //LineRenderer bulletLine = Instantiate(bulletLineInstance, muzzle.position, muzzle.rotation) as LineRenderer; //bulletLine.SetPosition(0, muzzle.position); //bulletLine.SetPosition(1, muzzle.position + muzzle.forward * range); //shootLine.enabled = true; //shootLine.SetPosition(0, muzzle.position); //shootLine.SetPosition(1, muzzle.position + muzzle.forward * range); Rigidbody bullet = Instantiate(bulletInstance, muzzle.position, muzzle.rotation) as Rigidbody; bullet.velocity = bulletSpeed * muzzle.forward; AudioSource.PlayClipAtPoint(shootAudio, muzzle.position); }