// Update is called once per frame void Update() { if (alr == false && pickedUp == true) { //Munitionstext wird aktualisiert GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().setMaxAmmo(ammo, gameObject); GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().setAmmo(ammo, gameObject); GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().setWeaponTime(timer, gameObject); alr = true; if (dropped != null) { dropped.Stop(); } } //Countdown timer -= Time.deltaTime; //Wenn man die "Fire1" Taste drückt, der Counter kleiner gleich 0 ist, die Waffe ausgerüstet ist und das Spiel nicht pausiert ist wird geschossen if (Input.GetButtonDown("Fire1") && timer <= 0 && pickedUp == true && PauseMenü.GameIsPaused == false && gameObject.tag != "AutoWeapon" && ammo != 0 && weaponTimer == -1) { //es wird geschossen GetComponent <Shoot>().shoot(); //Timer wird zurückgesetzt timer = safeTime; //Schuss-Sound wird abgegeben if (soundID == 0) { audioManager.Play("GunShot"); } else if (soundID == 1) { audioManager.Play("Shotgun"); } else if (soundID == 2) { audioManager.Play("VAPR-XKG"); } //Animation if (animator != null) { animator.SetTrigger("Shoot"); } //Camera Shake wird durchgeführt if (shakeID == 0) { shake.GunShake1(); } else if (shakeID == 1) { shake.ShotGunShake1(); } //Partikel werden abgespielt playParticles(); //Munitionssystem //Munition wird verringert deAmmo(); } else if (Input.GetButtonDown("Fire1") && timer <= 0 && pickedUp == true && PauseMenü.GameIsPaused == false && gameObject.tag != "AutoWeapon" && ammo == -1 && weaponTimer > 0) { //es wird geschossen GetComponent <Shoot>().shoot(); //Timer wird zurückgesetzt timer = safeTime; //Schuss-Sound wird abgegeben if (soundID == 0) { audioManager.Play("GunShot"); } else if (soundID == 1) { audioManager.Play("Shotgun"); } else if (soundID == 2) { audioManager.Play("VAPR-XKG"); } //Animation if (animator != null) { animator.SetTrigger("Shoot"); } //Camera Shake wird durchgeführt if (shakeID == 0) { shake.GunShake1(); } else if (shakeID == 1) { shake.ShotGunShake1(); } //Partikel werden abgespielt playParticles(); } else if (gameObject.tag == "AutoWeapon") { if (Input.GetButton("Fire1") && timer <= 0 && pickedUp == true && PauseMenü.GameIsPaused == false && ammo != 0 && weaponTimer == -1) { //es wird geschossen GetComponent <Shoot>().shoot(); //Timer wird zurückgesetzt timer = safeTime; //Schuss-Sound wird abgegeben if (soundID == 0) { audioManager.Play("GunShot"); } else if (soundID == 1) { audioManager.Play("Shotgun"); } else if (soundID == 2) { audioManager.Play("VAPR-XKG"); } else if (soundID == 3) { audioManager.Play("Minigun"); } //Animation if (animator != null) { animator.SetTrigger("Shoot"); } //Camera Shake wird durchgeführt if (shakeID == 0) { shake.GunShake1(); } else if (shakeID == 1) { shake.ShotGunShake1(); } //Partikel werden abgespielt playParticles(); if (smoke != null) { if (smoke.isPlaying == false) { smoke.Play(); } } //Munitionssystem //Munition wird verringert deAmmo(); } else if (Input.GetButton("Fire1") && timer <= 0 && pickedUp == true && PauseMenü.GameIsPaused == false && ammo == -1 && weaponTimer > 0) { //es wird geschossen GetComponent <Shoot>().shoot(); //Timer wird zurückgesetzt timer = safeTime; //Schuss-Sound wird abgegeben if (soundID == 0) { audioManager.Play("GunShot"); } else if (soundID == 1) { audioManager.Play("Shotgun"); } else if (soundID == 2) { audioManager.Play("VAPR-XKG"); } else if (soundID == 3) { audioManager.Play("Minigun"); } //Animation if (animator != null) { animator.SetTrigger("Shoot"); } //Camera Shake wird durchgeführt if (shakeID == 0) { shake.GunShake1(); } else if (shakeID == 1) { shake.ShotGunShake1(); } //Partikel werden abgespielt playParticles(); if (smoke != null) { if (smoke.isPlaying == false) { smoke.Play(); } } } } //Minigun cooldown sound wird abgespielt & cooldown timer wird gesetzt if (Input.GetButtonUp("Fire1") && pickedUp == true && PauseMenü.GameIsPaused == false) { //Handelt es sich um eine Minigun wird der Cooldown gesetzt if (soundID == 3) { //Cooldown Sound bei Minigun audioManager.Play("Minigun Cooldown"); //Cooldown Timer wird gesetzt timer = 0.5f; //Partikel werden gestoppt if (smoke != null) { if (smoke.isPlaying == true) { smoke.Stop(); } } } } //Munitionstext & Weapontimertext wird aktualisiert if (GameObject.FindGameObjectWithTag("Player") != null) { GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().setAmmo(ammo, gameObject); GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().setWeaponTime(weaponTimer, gameObject); } //Objekt wird zerstört wenn die Munition 0 beträgt if (ammo == 0 && gameObject.tag != "DefWeapon") { if (particles != null) { if (particles.isPlaying == false) { GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().weapon = null; Destroy(gameObject); } } else { GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().weapon = null; Destroy(gameObject); } } //Wenn die Waffe nicht mit Munition verwaltet wird sondern mit Zeit & die Waffe bereits ausgerüstet wurde, dann wird die Zeit runtergezählt if (weaponTimer > 0 && ammo == -1 && pickedUp == true) { //Ist die Zeit 0, wird die Waffe zerstört weaponTimer -= Time.deltaTime; if (weaponTimer <= 0 && weaponTimer > -1) { GameObject.FindGameObjectWithTag("Player").GetComponent <WeaponPickUpSystem>().weapon = null; Destroy(gameObject); } } }