void ShipTurretShoot() { //This code can be expanded on to include a game object list TurretShootPos and can be nested in a for loop. I tested it but removed it cause it wasn't needed. timer -= Time.deltaTime; if (timer <= 0) { GameObject projectile = Instantiate( projectileData.GetCurrentActiveWeapon(), turretShootPos.GetComponent <Transform>().position, turretShootPos.GetComponent <Transform>().rotation ); Debug.Log("The Force is : " + projectileData.GetForce()); var dir = player.transform.position - transform.position; SoundManager.instance.PlayRaw("PlayerBasicWeapon"); projectile.GetComponent <Rigidbody>().AddRelativeForce(projectile.transform.forward * projectileData.GetForce() * 20, ForceMode.Impulse); // projectile.GetComponent<Rigidbody>(). // AddForceAtPosition(dir.normalized, transform.forward * projectileData.GetForce() * 100, ForceMode.Impulse); Destroy(projectile, 4.0f); timer = interval; } }
void ShipShoot() { timer -= Time.deltaTime; if (timer <= 0) { int i; for (i = 0; i < shootPos.Count; i++) { GameObject projectile = Instantiate( projectileData.GetCurrentActiveWeapon(), shootPos[i].GetComponent <Transform>().position, shootPos[i].GetComponent <Transform>().rotation ); SoundManager.instance.PlayRaw("PlayerBasicWeapon"); projectile.GetComponent <Rigidbody>(). AddForce(Vector3.up * projectileData.GetForce(), ForceMode.Impulse); Destroy(projectile, 2.0f); } timer = interval; } }
//Button Click Events-------------------------------------------- public void RightShoot() { if (!leftShoot) // if the left button isn't firing { rightShoot = true; GameObject projectile = Instantiate( projectileData.GetCurrentActiveWeapon(), shootPos.transform.position, Quaternion.identity ); SoundManager.instance.PlayRaw("PlayerBasicWeapon"); projectile.GetComponent <Rigidbody>(). AddForce(Vector3.down * projectileData.GetForce(), ForceMode.Impulse); Destroy(projectile, 2.0f); rightShoot = false; } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { GameObject projectile = Instantiate( projectileData.GetCurrentActiveWeapon(), shooter, Quaternion.identity ); projectile.GetComponent <Rigidbody>(). AddForce(Vector3.down * projectileData.GetForce(), ForceMode.Impulse); } }