void Update() { if (CanIShoot) { Timer -= Time.deltaTime; if ((int)Timer <= 0) { TimerMax = Random.Range(3, 10); myRandomBall = Random.Range(0, 4); switch (myRandomBall) { case 3: //The Bullet instantiation happens here. GameObject Temporary_Bullet_Handler5; fire.Play(true); explosion.Play(true); FireSFX.PlayOneShot(Boom); Temporary_Bullet_Handler5 = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject; //Sometimes bullets may appear rotated incorrectly due to the way its pivot was set from the original modeling package. //This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh. Temporary_Bullet_Handler5.transform.Rotate(Vector3.left * 90); //Retrieve the Rigidbody component from the instantiated Bullet and control it. Rigidbody Temporary_RigidBody5; Temporary_RigidBody5 = Temporary_Bullet_Handler5.GetComponent <Rigidbody>(); //Tell the bullet to be "pushed" forward by an amount set by Bullet_Forward_Force. Temporary_RigidBody5.AddForce(transform.forward * Bullet_Forward_Force); //Basic Clean Up, set the Bullets to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty. Destroy(Temporary_Bullet_Handler5, TProjectile); break; case 2: //The Bullet instantiation happens here. GameObject Temporary_Bullet_Handler3; fire.Play(true); explosion.Play(true); FireSFX.PlayOneShot(Boom); Temporary_Bullet_Handler3 = Instantiate(Calice, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject; //Sometimes bullets may appear rotated incorrectly due to the way its pivot was set from the original modeling package. //This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh. Temporary_Bullet_Handler3.transform.Rotate(Vector3.left * 90); //Retrieve the Rigidbody component from the instantiated Bullet and control it. Rigidbody Temporary_RigidBody3; Temporary_RigidBody3 = Temporary_Bullet_Handler3.GetComponent <Rigidbody>(); //Tell the bullet to be "pushed" forward by an amount set by Bullet_Forward_Force. Temporary_RigidBody3.AddForce(transform.forward * Bullet_Forward_Force); //Basic Clean Up, set the Bullets to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty. Destroy(Temporary_Bullet_Handler3, TProjectile); break; case 1: //The Bullet instantiation happens here. GameObject Temporary_Bullet_Handler; fire.Play(true); explosion.Play(true); FireSFX.PlayOneShot(Boom); Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject; //Sometimes bullets may appear rotated incorrectly due to the way its pivot was set from the original modeling package. //This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh. Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90); //Retrieve the Rigidbody component from the instantiated Bullet and control it. Rigidbody Temporary_RigidBody; Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent <Rigidbody>(); //Tell the bullet to be "pushed" forward by an amount set by Bullet_Forward_Force. Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force); //Basic Clean Up, set the Bullets to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty. Destroy(Temporary_Bullet_Handler, TProjectile); break; case 0: //The Bullet instantiation happens here. GameObject Temporary_Bullet_Handler2; fire.Play(true); explosion.Play(true); FireSFX.PlayOneShot(Boom); Temporary_Bullet_Handler2 = Instantiate(Bomb, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject; //Sometimes bullets may appear rotated incorrectly due to the way its pivot was set from the original modeling package. //This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh. Temporary_Bullet_Handler2.transform.Rotate(Vector3.left * 90); //Retrieve the Rigidbody component from the instantiated Bullet and control it. Rigidbody Temporary_RigidBody2; Temporary_RigidBody2 = Temporary_Bullet_Handler2.GetComponent <Rigidbody>(); //Tell the bullet to be "pushed" forward by an amount set by Bullet_Forward_Force. Temporary_RigidBody2.AddForce(transform.forward * Bullet_Forward_Force); //Basic Clean Up, set the Bullets to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty. Destroy(Temporary_Bullet_Handler2, TProjectile); break; default: break; } Timer = TimerMax; } } if (GetComponentInParent <Timer>().tgame <= 1) { CanIShoot = false; } }
//&& Time.time > nextFire // Update is called once per frame public void Update() { if (Time.time > nextFire && AmmoShot == true) { FlakShell.SetActive(true); } if (Ammo >= 60) { Ammo = 60; SetCountAmmo(); } if (Ammo <= 0) { FlakShell.SetActive(false); Ammo = 0; SetCountAmmo(); AmmoShot = false; } if (Input.GetButtonDown("Pause")) { paused = !paused; Time.timeScale = paused ? 0 : 1; if (Input.GetMouseButtonDown(0) && paused == true) { Ammo -= 0; } if (paused == true) { AmmoShot = false; Cursor.lockState = CursorLockMode.None; Cursor.visible = true; CursorCrosshair.SetActive(false); OptionsMenu.SetActive(true); FlakCannonGun.SetActive(false); pauseText.text = "Game Paused"; levelMusic.Pause(); } else { OptionsMenu.SetActive(false); ConfirmMenu.SetActive(false); AudioMenu.SetActive(false); VideoMenu.SetActive(false); ControlsMenu.SetActive(false); CursorCrosshair.SetActive(true); FlakCannonGun.SetActive(true); AmmoShot = true; Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; pauseText.text = ""; levelMusic.Play(); } } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true) { FlakShell.SetActive(false); recoilComponent.StartRecoil(0.2f, -10f, 10f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; muzzleFlashEnabled = true; //nextFire = Time.time + fireRate; Shoot.Play(); RandomizeForce(); GameObject Temporary_Bullet_Handler; Temporary_Bullet_Handler = Instantiate(ShellBullet, Bullet_Emitter1.transform.position, Bullet_Emitter1.transform.rotation) as GameObject; Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90); Rigidbody Temporary_RigidBody; Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent <Rigidbody>(); Temporary_RigidBody.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force1); Temporary_RigidBody.AddForce(CameraPosition.transform.right * Bullet_Side_Force1); Temporary_RigidBody.AddForce(CameraPosition.transform.up * Bullet_Up_Force1); Destroy(Temporary_Bullet_Handler, 10.0f); GameObject Temporary_Bullet_Handler2; Temporary_Bullet_Handler2 = Instantiate(ShellBullet, Bullet_Emitter2.transform.position, Bullet_Emitter2.transform.rotation) as GameObject; Temporary_Bullet_Handler2.transform.Rotate(Vector3.left * 90); Rigidbody Temporary_RigidBody2; Temporary_RigidBody2 = Temporary_Bullet_Handler2.GetComponent <Rigidbody>(); Temporary_RigidBody2.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force2); Temporary_RigidBody2.AddForce(CameraPosition.transform.right * Bullet_Side_Force2); Temporary_RigidBody2.AddForce(CameraPosition.transform.up * Bullet_Up_Force2); Destroy(Temporary_Bullet_Handler2, 10.0f); GameObject Temporary_Bullet_Handler3; Temporary_Bullet_Handler3 = Instantiate(ShellBullet, Bullet_Emitter3.transform.position, Bullet_Emitter3.transform.rotation) as GameObject; Temporary_Bullet_Handler3.transform.Rotate(Vector3.left * 90); Rigidbody Temporary_RigidBody3; Temporary_RigidBody3 = Temporary_Bullet_Handler3.GetComponent <Rigidbody>(); Temporary_RigidBody3.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force3); Temporary_RigidBody3.AddForce(CameraPosition.transform.right * Bullet_Side_Force3); Temporary_RigidBody3.AddForce(CameraPosition.transform.up * Bullet_Up_Force3); Destroy(Temporary_Bullet_Handler3, 10.0f); GameObject Temporary_Bullet_Handler4; Temporary_Bullet_Handler4 = Instantiate(ShellBullet, Bullet_Emitter4.transform.position, Bullet_Emitter4.transform.rotation) as GameObject; Temporary_Bullet_Handler4.transform.Rotate(Vector3.left * 90); Rigidbody Temporary_RigidBody4; Temporary_RigidBody4 = Temporary_Bullet_Handler4.GetComponent <Rigidbody>(); Temporary_RigidBody4.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force4); Temporary_RigidBody4.AddForce(CameraPosition.transform.right * Bullet_Side_Force4); Temporary_RigidBody4.AddForce(CameraPosition.transform.up * Bullet_Up_Force4); Destroy(Temporary_Bullet_Handler4, 10.0f); GameObject Temporary_Bullet_Handler5; Temporary_Bullet_Handler5 = Instantiate(ShellBullet, Bullet_Emitter5.transform.position, Bullet_Emitter5.transform.rotation) as GameObject; Temporary_Bullet_Handler5.transform.Rotate(Vector3.left * 90); Rigidbody Temporary_RigidBody5; Temporary_RigidBody5 = Temporary_Bullet_Handler5.GetComponent <Rigidbody>(); Temporary_RigidBody5.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force5); Temporary_RigidBody5.AddForce(CameraPosition.transform.right * Bullet_Side_Force5); Temporary_RigidBody5.AddForce(CameraPosition.transform.up * Bullet_Up_Force5); Destroy(Temporary_Bullet_Handler5, 10.0f); } if (Ammo <= 10) { FlakcountAmmo.color = new Color(Mathf.Sin(Time.time * 10), 0f, 0f, 1.0f); } else if (Ammo >= 11) { FlakcountAmmo.color = new Color(1f, 1f, 1f, 1f); } if (muzzleFlashEnabled == true) { FlakShell.SetActive(false); MuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); MuzzleFlashObject.SetActive(true); muzzleFlashTimer -= Time.deltaTime; } if (muzzleFlashTimer <= 0) { MuzzleFlashObject.SetActive(false); muzzleFlashEnabled = false; muzzleFlashTimer = muzzleFlashTimerStart; } if (whiteScreenFlashEnabled == true) { whiteScreen.SetActive(true); whiteScreenFlashTimer -= Time.deltaTime; } if (whiteScreenFlashTimer <= 0) { whiteScreen.SetActive(false); whiteScreenFlashEnabled = false; whiteScreenFlashTimer = whiteScreenFlashTimerStart; } }