public void Shoot() { if (laserCounter >= laserRate) { if (recoil) { recoil.StartRecoil(); } laserCounter = 0; GameObject tmp = ObjectPooler.laserPooler.GetPlayerLaser(); tmp.transform.position = transform.position + new Vector3(0, -0.2f, 0); tmp.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 180)); tmp.GetComponent <Rigidbody2D>().velocity = tmp.transform.up * laserSpeed; tmp.transform.localScale = new Vector2(damage, damage); tmp.GetComponent <Laser>().SetDamage(damage, damage.Equals(upgradedDamage)); tmp.GetComponent <Laser>().SetStun(stunTime, stunTime.Equals(upgradedStun)); Instantiate(bubbleBurst, (Vector2)transform.position + new Vector2(0, -0.2f), Quaternion.identity); if (!baby) { gameManager.Shake(laserShakeDuration, laserShakeAmount, laserShakeDecrease); audioManager.PlaySound(1, currPitch); } } }
// Update is called once per frame public void Update() { StartCoroutine(FindRecoil()); if (Arrows <= 0) { Arrows = 0; SetCountAmmo(); AmmoShot = false; } if (Arrows <= 10) { ArrowAmmo.color = new Color(Mathf.Sin(Time.time * 10), 0f, 0f, 1.0f); } else if (Arrows >= 11) { ArrowAmmo.color = new Color(1f, 1f, 1f, 1f); } if (Time.time > nextFire && AmmoShot) { ArrowObject.SetActive(true); } else { ArrowObject.SetActive(false); } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true || Input.GetAxisRaw("Attack") == -1 && Time.time > nextFire && AmmoShot == true) { Arrows -= 1; Rigidbody Temporary_RigidBody; GameObject Temporary_Bullet_Handler; recoilComponent.StartRecoil(0.1f, -3f, 10f); nextFire = Time.time + fireRate; audioSrc.PlayOneShot(shoot); Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject; Temporary_Bullet_Handler.transform.Rotate(Vector3.left); Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent <Rigidbody>(); Temporary_RigidBody.AddForce(CameraPosition.transform.forward * Bullet_Forward_Force); Destroy(Temporary_Bullet_Handler, 5.0f); SetCountAmmo(); } if (whiteScreenFlashEnabled == true) { whiteScreen.SetActive(true); whiteScreenFlashTimer -= Time.deltaTime; } if (whiteScreenFlashTimer <= 0) { whiteScreen.SetActive(false); whiteScreenFlashEnabled = false; whiteScreenFlashTimer = whiteScreenFlashTimerStart; } }
void Shoot() { currentAmmo--; muzzleflash.Play(); cartrage.GetComponent <ParticleSystem>().Play(); AudioSourceMaster.PlayOneShot(gunSound, Volume); recoilComponent.StartRecoil(amountOfRecoil, maxRecoilx, recoilSpeed); recoilComponentCam.StartRecoil(amountOfRecoilCam, maxRecoilxCam, recoilSpeedCam); GetComponent <Accuracy>().Recoil(); RaycastHit hit; if (Physics.Raycast(gameObject.transform.position, fpsCam.transform.forward, out hit, range)) { Target target = hit.transform.GetComponent <Target>(); if (target != null) { target.TakeDamage(damage); } if (hit.rigidbody != null) { hit.rigidbody.AddForce(-hit.normal * impactforce); } if (hit.collider.transform.tag == "Player") { Hit(); } GameObject impactGO = Instantiate(impacteffect, hit.point, Quaternion.LookRotation(hit.normal)); Destroy(impactGO, 2f); } }
// Update is called once per frame public void Update() { if (Ammo >= 200) { Ammo = 200; SetCountAmmo(); } if (Ammo <= 0) { Ammo = 0; AmmoShot = false; SetCountAmmo(); } 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); AssaultRifleGun.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); AssaultRifleGun.SetActive(true); AmmoShot = true; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; pauseText.text = ""; levelMusic.Play(); } } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true) { recoilComponent.StartRecoil(0.01f, -2f, 40f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; muzzleFlashEnabled = true; Shoot.Play(); //The Bullet instantiation happens here. GameObject Temporary_Bullet_Handler; 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(CameraPosition.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, 10.0f); } if (Ammo <= 25) { AssaultAmmo.color = new Color(Mathf.Sin(Time.time * 10), 0f, 0f, 1.0f); } else if (Ammo >= 26) { AssaultAmmo.color = new Color(1f, 1f, 1f, 1f); } if (muzzleFlashEnabled == true) { MuzzleFlashObject.SetActive(true); MuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); 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; } }
void Shoot(float weapon_type) { currentAmmo--; if (weapon_type == W_SNIPER) { animator.SetBool("Scoped", false); } if (weapon_type != W_GLANUCHER) { RaycastHit hit; if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range)) { string hit_tag = hit.transform.gameObject.tag; switch (hit_tag) { case "Enemy": Instantiate(impactEffectEnemy, hit.point, Quaternion.LookRotation(hit.normal)); break; case "enemy_runner": Instantiate(impactEffectEnemy, hit.point, Quaternion.LookRotation(hit.normal)); break; case "enemy_scratcher": Instantiate(impactEffectEnemy, hit.point, Quaternion.LookRotation(hit.normal)); break; case "enemy_shooter": Instantiate(impactEffectEnemy, hit.point, Quaternion.LookRotation(hit.normal)); break; case "Pickup0": break; default: Instantiate(impactEffectSolid, hit.point, Quaternion.LookRotation(hit.normal)); break; } // Get the gameobject from the object that was hit GameObject obj = hit.collider.gameObject; // Get the enemyctrl script from current object to check if it's really enemy type var script = obj.GetComponent <EnemyCtrl>(); // Get the enemy type (SCRATCHER, SHOOTER, RUNNER) //EnemyCtrl.ENEMY_TYPE enemy_type = script.type; // Check if has a texture attatched (if not, can't be destroyed) // Check if is enemy if (script != null) { switch (weapon_type) { case W_AUTOMATIC: script.hp -= DMG_AUTOMATIC; break; case W_SNIPER: script.hp -= DMG_SNIPER; break; } } } } else { Vector3 dir = fpsCam.transform.forward; GameObject granade = Instantiate(granadeModel, throwFromObject.position, fpsCam.transform.rotation); granade.GetComponent <Rigidbody>().AddForce(dir * throwForce, ForceMode.Impulse); } // Weapon recoil switch (GUN_TYPE) { case W_AUTOMATIC: recoilComponent.StartRecoil(0.018f, 0.018f, 20f); break; case W_SNIPER: recoilComponent.StartRecoil(0.075f, 0.075f, 10f); break; case W_GLANUCHER: recoilComponent.StartRecoil(0.075f, -0.20f, 10f); break; } }
// Update is called once per frame public void Update() { if (Ammo >= 8) { Ammo = 8; SetCountAmmo(); } if (Ammo <= 0) { Ammo = 0; ProtonBall.SetActive(false); 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); BFGProtonGun.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); BFGProtonGun.SetActive(true); AmmoShot = true; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; pauseText.text = ""; levelMusic.Play(); } } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true) { GunCharge = true; if (GunCharge) { SetGun = true; ChargeUpTimer = Mathf.Clamp(ChargeUpTimer + Time.deltaTime, 0, ChargeUpTime); ShakeTimer = Mathf.Clamp(ShakeTimer + Time.deltaTime, 0, ShakeTime); if (ChargeUpTimer > 0 && ChargeUpTimer < 0.1) { PowerUp = true; } if (ChargeUpTimer > 1 && shot) { ChargingUp.Play(); shot = false; } //if (ChargeUpTimer > 2.5 && shot) //{ // if (shot) // { // Shoot.Play(); // shot = false; // } //} if (ChargeUpTimer >= ChargeUpTime && Time.time > nextFire) { QuakeSound.Play(); Shoot.Play(); Bullet.SetActive(true); recoilComponent.StartRecoil(0.5f, -20f, 10f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; ProtonBall.SetActive(false); muzzleFlashEnabled = true; camTransform.localPosition = camOriginalPos; GameObject Temporary_Bullet_Handler; Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.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_Force); Destroy(Temporary_Bullet_Handler, 4.0f); } MuzzleFlashObject.SetActive(true); ps.gameObject.SetActive(true); } } else { shot = true; ps.gameObject.SetActive(false); ChargeUpTimer = 0; ShakeTimer = 0; GunCharge = false; MuzzleFlashObject.SetActive(false); ChargingUp.Stop(); ChargeUp.Stop(); camTransform.localPosition = camOriginalPos; if (SetGun) { gunTransform.localPosition = gunOriginalPos; SetGun = false; } ChargeUpTimer = Mathf.Clamp(ChargeUpTimer - Time.deltaTime, 0, ChargeUpTime); ShakeTimer = Mathf.Clamp(ShakeTimer - Time.deltaTime, 0, ShakeTime); if (ChargeUpTimer < 2f && ChargeUpTimer > 1.8f) { //PlayerAudSrc.clip = MiniGunSpinDown; //PlayerAudSrc.loop = false; PowerDown = true; } } if (ShakeTimer > 0 && GunCharge) { camTransform.localPosition = camOriginalPos + Random.insideUnitSphere * ShakeTimer / 2; gunTransform.localPosition = gunOriginalPos + Random.insideUnitSphere * GunShakeAmount; } if (PowerUp) { ChargeUp.Play(); PowerUp = false; } if (PowerDown) { //PlayerAudSrc.PlayOneShot(MiniGunSpinDown, 0.7f); PowerDown = false; } if (Time.time > nextFire && AmmoShot == true) { ProtonBall.SetActive(true); } if (Ammo <= 1) { BFGcountAmmo.color = new Color(Mathf.Sin(Time.time * 10), 0f, 0f, 1.0f); } else if (Ammo >= 2) { BFGcountAmmo.color = new Color(1f, 1f, 1f, 1f); } if (muzzleFlashEnabled == true) { //MuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); ProtonBall.SetActive(false); 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; } }
// Update is called once per frame public void Update() { Axisz = Barrel.transform.rotation.eulerAngles.z; if (GotAmmo) { SpinSpeed = 200; float theta = Time.deltaTime * SpinSpeed; Barrel.transform.Rotate(Vector3.forward, theta); if (BarrelSpin && BarrelCounter == 0 && AmmoShot) { Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 240, 240); } if (Axisz > 237 && BarrelCounter == 0 && AmmoShot) { GotAmmo = false; BarrelSpin = false; BarrelCounter = 1; } if (BarrelSpin && BarrelCounter == 1 && AmmoShot) { Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 0, 0); } if (Axisz > 0 && Axisz < 6 && BarrelCounter == 1 && AmmoShot) { GotAmmo = false; BarrelSpin = false; BarrelCounter = 2; } if (BarrelSpin && BarrelCounter == 2 && AmmoShot) { Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 120, 120); } if (Axisz >= 117 && BarrelCounter == 2 && AmmoShot) { GotAmmo = false; BarrelSpin = false; BarrelCounter = 0; } } if (BarrelSpin && !AmmoShot) { SpinSpeed = 50; float theta = Time.deltaTime * SpinSpeed; Barrel.transform.Rotate(Vector3.forward, theta); } if (BarrelSpin && BarrelCounter == 0 && AmmoShot) { SpinSpeed = 200; float theta = Time.deltaTime * SpinSpeed; Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 240, 240); } if (Axisz > 237 && BarrelCounter == 0 && AmmoShot) { BarrelSpin = false; BarrelCounter = 1; } if (BarrelSpin && BarrelCounter == 1 && AmmoShot) { float theta = Time.deltaTime * SpinSpeed; Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 0, 0); } if (Axisz > 0 && Axisz < 6 && BarrelCounter == 1 && AmmoShot) { BarrelSpin = false; BarrelCounter = 2; } if (BarrelSpin && BarrelCounter == 2 && AmmoShot) { float theta = Time.deltaTime * SpinSpeed; Barrel.transform.Rotate(Vector3.forward, theta); Mathf.Clamp(Axisz, 120, 120); } if (Axisz >= 117 && BarrelCounter == 2 && AmmoShot) { BarrelSpin = false; BarrelCounter = 0; } if (Ammo >= 10) { Ammo = 10; SetCountAmmo(); } if (Ammo <= 0) { Ammo = 0; Rocket.SetActive(false); Rocket2.SetActive(false); Rocket3.SetActive(false); BarrelSpin = true; 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); RocketLauncherGun.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); RocketLauncherGun.SetActive(true); AmmoShot = true; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; pauseText.text = ""; levelMusic.Play(); } } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true && RocketSlot0 == true) { BarrelSpin = true; Bullet.SetActive(true); recoilComponent.StartRecoil(0.5f, -20f, 10f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; muzzleFlashEnabled = true; Shoot.Play(); //The Bullet instantiation happens here. //GameObject Temporary_Bullet_Handler; Rocket3.SetActive(true); Rocket.SetActive(false); Rocket2.SetActive(true); GameObject Temporary_Bullet_Handler; Temporary_Bullet_Handler = Instantiate(Bullet, SlotOne_Bullet_Emitter.transform.position, SlotOne_Bullet_Emitter.transform.rotation) as GameObject; 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(CameraPosition.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, 4.0f); RocketSlot0 = false; RocketSlot1 = true; RocketSlot2 = false; } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true && RocketSlot1 == true) { BarrelSpin = true; Bullet.SetActive(true); recoilComponent.StartRecoil(0.5f, -20f, 10f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; muzzleFlashEnabled = true; Shoot.Play(); //The Bullet instantiation happens here. //GameObject Temporary_Bullet_Handler; Rocket2.SetActive(false); Rocket3.SetActive(true); Rocket.SetActive(true); GameObject Temporary_Bullet_Handler; Temporary_Bullet_Handler = Instantiate(Bullet, SlotTwo_Bullet_Emitter.transform.position, SlotTwo_Bullet_Emitter.transform.rotation) as GameObject; 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(CameraPosition.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, 4.0f); RocketSlot0 = false; RocketSlot1 = false; RocketSlot2 = true; } if (Input.GetMouseButton(0) && Time.time > nextFire && AmmoShot == true && RocketSlot2 == true) { BarrelSpin = true; Bullet.SetActive(true); recoilComponent.StartRecoil(0.5f, -20f, 10f); Ammo -= 1; SetCountAmmo(); nextFire = Time.time + fireRate; if (Ammo <= 0) { Ammo = 0; Rocket.SetActive(false); Rocket2.SetActive(false); Rocket3.SetActive(false); RocketLauncherGun.SetActive(false); AmmoShot = false; } muzzleFlashEnabled = true; Shoot.Play(); //The Bullet instantiation happens here. //GameObject Temporary_Bullet_Handler; Rocket3.SetActive(false); Rocket.SetActive(true); Rocket2.SetActive(true); GameObject Temporary_Bullet_Handler; Temporary_Bullet_Handler = Instantiate(Bullet, SlotThree_Bullet_Emitter.transform.position, SlotThree_Bullet_Emitter.transform.rotation) as GameObject; 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(CameraPosition.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, 4.0f); RocketSlot0 = true; RocketSlot1 = false; RocketSlot2 = false; } if (Time.time > nextFire && AmmoShot == true) { Rocket.SetActive(true); Rocket2.SetActive(true); Rocket3.SetActive(true); } if (Ammo <= 1) { RocketcountAmmo.color = new Color(Mathf.Sin(Time.time * 10), 0f, 0f, 1.0f); } else if (Ammo >= 2) { RocketcountAmmo.color = new Color(1f, 1f, 1f, 1f); } if (muzzleFlashEnabled == true && RocketSlot0 == true) { //Reload.Play(); SlotOneMuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); Rocket3.SetActive(true); Rocket.SetActive(false); Rocket2.SetActive(true); SlotOneMuzzleFlashObject.SetActive(true); muzzleFlashTimer -= Time.deltaTime; } if (muzzleFlashEnabled == true && RocketSlot1 == true) { //Reload.Play(); SlotTwoMuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); Rocket3.SetActive(true); Rocket.SetActive(true); Rocket2.SetActive(false); SlotTwoMuzzleFlashObject.SetActive(true); muzzleFlashTimer -= Time.deltaTime; } if (muzzleFlashEnabled == true && RocketSlot2 == true) { //Reload.Play(); SlotThreeMuzzleFlashObject.transform.Rotate(Random.Range(0, 90), Random.Range(0, 90), Random.Range(0, 90)); Rocket3.SetActive(false); Rocket.SetActive(true); Rocket2.SetActive(true); SlotThreeMuzzleFlashObject.SetActive(true); muzzleFlashTimer -= Time.deltaTime; } if (muzzleFlashTimer <= 0) { SlotOneMuzzleFlashObject.SetActive(false); SlotTwoMuzzleFlashObject.SetActive(false); SlotThreeMuzzleFlashObject.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; } }
//&& 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; } }