void Update() { if (playerHealth.getHealthPoints() == 100f) { HealingEffect(); } if (playerHealth.getBleedingEffect() && playerHealth.getHealthPoints() > 0f) { BleedingEffect(); } }
void WeaponShoot() { //Checking the weapon shooting type if (weaponManager.CurrentWeaponGetter().shootingType == WeaponShootingType.SEMIAUTO) { //Making the shot in time intervals according to fire rate if (Input.GetMouseButtonDown(0) && Time.time > nextTimeToFire && !weaponManager.SprintingState()) { nextTimeToFire = Time.time + 1 / weaponManager.CurrentWeaponGetter().getFireRate(); isShooting = true; if (weaponManager.CurrentWeaponGetter().bulletType == WeaponBulletType.M1GARAND && ammoCount > 0) { weaponManager.CurrentWeaponGetter().ShootingAnimation(); GameObject bullet = Instantiate(bulletType[0], weaponManager.CurrentWeaponGetter().muzzleFlash.transform.position, weaponManager.CurrentWeaponGetter().muzzleFlash.transform.rotation); bullet.transform.parent = bulletParent; weaponManager.CurrentWeaponGetter().getMuzzleFlashEffect().Play(); if (ammoCount != 1) { weaponManager.GetShootingSound().pitch = Random.Range(0.85f, 1); weaponManager.GetShootingSound().Play(); } else { weaponManager.GetSpecialSound().pitch = Random.Range(0.85f, 1); weaponManager.GetSpecialSound().Play(); weaponManager.GetShootingSound().pitch = Random.Range(0.85f, 1); weaponManager.GetShootingSound().Play(); } } else if (weaponManager.CurrentWeaponGetter().bulletType == WeaponBulletType.M1911PISTOL && ammoCount > 0) { weaponManager.CurrentWeaponGetter().ShootingAnimation(); GameObject bullet = Instantiate(bulletType[1], weaponManager.CurrentWeaponGetter().muzzleFlash.transform.position, weaponManager.CurrentWeaponGetter().muzzleFlash.transform.rotation); bullet.transform.parent = bulletParent; weaponManager.CurrentWeaponGetter().getMuzzleFlashEffect().Play(); if (ammoCount != 1) { weaponManager.GetShootingSound().pitch = Random.Range(0.85f, 1); weaponManager.GetShootingSound().Play(); } /*else * { * weaponManager.GetSpecialSound().pitch = Random.Range(0.85f, 1); * weaponManager.GetSpecialSound().Play(); * weaponManager.GetShootingSound().pitch = Random.Range(0.85f, 1); * weaponManager.GetShootingSound().Play(); * }*/ } } } else if (weaponManager.CurrentWeaponGetter().shootingType == WeaponShootingType.FULLAUTO) { if (Input.GetMouseButton(0) && Time.time > nextTimeToFire) { isShooting = true; nextTimeToFire = Time.time + 1 / weaponManager.CurrentWeaponGetter().getFireRate(); weaponManager.CurrentWeaponGetter().ShootingAnimation(); } //if else for bullet type } else if (weaponManager.CurrentWeaponGetter().shootingType == WeaponShootingType.LEVER) { if (Input.GetMouseButtonDown(0) && Time.time > nextTimeToFire) { isShooting = true; nextTimeToFire = Time.time + 1 / weaponManager.CurrentWeaponGetter().getFireRate(); weaponManager.CurrentWeaponGetter().ShootingAnimation(); } //if else for bullet type } else if (weaponManager.CurrentWeaponGetter().shootingType == WeaponShootingType.THROWABLE) { isShooting = false; if (Input.GetMouseButtonDown(0) && ammoCount > 0 && !weaponManager.SprintingState()) { isAimingSelf = true; } if (isAimingSelf) { if (!Input.GetMouseButton(0) && throwableAimTime >= weaponManager.CurrentWeaponGetter().getThrowableAimingAnimation().length&& isAimingSelf) { throwableObject = Instantiate(weaponManager.CurrentWeaponGetter().getThrowable()); throwableObject.transform.parent = grenadeParent; throwableScript = throwableObject.transform.GetComponent <ThrowableScript>(); throwableScript.ThrowableTransform(weaponManager.CurrentWeaponGetter().muzzleFlash.transform); throwableScript.ThrowableFire(); isAimingSelf = false; } } } else if (weaponManager.CurrentWeaponGetter().shootingType == WeaponShootingType.USABLE) { isShooting = false; if (Input.GetKey(KeyCode.F) && ammoCount > 0 && playerHealth.getHealthPoints() != 100f) { weaponManager.setUsingItemState(true); usageTimeCounter += Time.deltaTime; if (usageTimeCounter >= weaponManager.getUsageTime()) { playerHealth.setHealthPoints(100f); playerHealth.setBleedingEffect(false); weaponManager.setUsingItemState(false); ammoCount--; } } else if (Input.GetKeyUp(KeyCode.F)) { usageTimeCounter = 0f; weaponManager.setUsingItemState(false); } } else { isShooting = false; } }