void Update() { timer += Time.deltaTime; // Shoot // if (Input.GetKey(KeyCode.Mouse0) && timer >= inventory.equipment [inventory.g].gun.rateOfFire && Time.timeScale != 0 && !menu && !house) { switch (inventory.equipment [inventory.g].gun.fireMode) { case 0: // Full-auto // if (chamber && !sprinting && !reloading && !switching) { if (ammo.shot(inventory.equipment [inventory.g].gun.ammoID)) { Shoot(); } } break; case 1: // Semi-auto // if (!trigger && chamber && !sprinting && !reloading && !switching) { if (ammo.shot(inventory.equipment [inventory.g].gun.ammoID)) { trigger = true; } Shoot(); } break; case 2: // Shotgun // if (!trigger && chamber && !sprinting && !reloading && !switching) { if (ammo.shot(inventory.equipment [inventory.g].gun.ammoID)) { trigger = true; } if (mag >= 0) { Shoot(); } } break; default: break; } if (Input.GetKeyDown(KeyCode.Mouse0) && mag == 0 && !chamber) { gunEmpty.Play(); } } if (Input.GetKeyUp(KeyCode.Mouse0)) { trigger = false; } // Reload // if (Input.GetKey(KeyCode.R) && ammo.ammo[inventory.equipment [inventory.g].gun.ammoID] != 0 && !reloading && !switching) { reload(); timer = 0.0f; reloading = true; inventory.equipment [inventory.g].gun.reloadAudio.Play(); } // Reload Timer // if (reloading) { if (timer >= inventory.equipment [inventory.g].gun.reloadTime) { reloading = false; } } // Rate of Fire // if (timer >= inventory.equipment [inventory.g].gun.rateOfFire * 0.1f + 0.02f) { disableShot(); } // Aiming // if (Input.GetKeyDown(KeyCode.Mouse1) && !switching && !reloading && !sprinting && !menu) { aiming = true; currAccuracy += 5.0f; } if (Input.GetKeyUp(KeyCode.Mouse1) && aiming && !switching && !reloading && !sprinting && !menu) { aiming = false; currAccuracy -= 5.0f; } // Accuracy Cone // if (currAccuracy < 100.0f) { currAccuracy += 0.1f; } // Sprinting // if (Input.GetKey(KeyCode.LeftShift) && (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D))) { sprinting = true; } if (!Input.GetKey(KeyCode.LeftShift) || (!Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.S) && !Input.GetKey(KeyCode.D))) { sprinting = false; } // Weapon Switching // if (Input.GetKeyDown(KeyCode.Alpha1) && !switching) { switching = true; timer = 0.0f; inventory.g = 0; chamber = false; reload(); } if (Input.GetKeyDown(KeyCode.Alpha2) && !switching) { switching = true; timer = 0.0f; inventory.g = 1; chamber = false; reload(); } if (Input.GetKeyDown(KeyCode.Alpha3) && !switching) { switching = true; timer = 0.0f; inventory.g = 2; chamber = false; reload(); } // Weapon Switching Timer // if (switching) { if (timer >= switchTimer) { switching = false; } } // Check if in Menu // if (Input.GetKeyDown(KeyCode.Tab)) { menu = !menu; } }