// Update is called once per frame void Update() { _currentWeapon = _weaponManager.GetCurrentWeapon(); if (Input.GetButtonDown("Reload") && _currentWeapon.currentAmmo != _currentWeapon.maxAmmo) { _weaponManager.Reload(); return; } if (_currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / _currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke(nameof(Shoot)); } } }
private void OnReload() { if (hasAuthority && !weaponManager.IsReloading) { weaponManager.Reload(); } }
private void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButtonDown("Reload")) { weaponManager.Reload(); return; } } if (currentWeapon.fireRate <= 0.0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0.0f, 1.0f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
public void Shoot() { if (weaponManager.isReloading) { return; } if (currentWeapon.bullets <= 0) { weaponManager.Reload(); Debug.Log("Bullets: " + currentWeapon.bullets); return; } currentWeapon.bullets--; GetComponent <AudioSource>().Play(); if (Physics.Raycast(transform.position, transform.forward, out hit, currentWeapon.range, layerMask)) { if (hit.transform.gameObject.CompareTag(targetTag)) { hit.transform.GetComponent <Entity>().TakeDamage(currentWeapon.damage); } } if (currentWeapon.bullets <= 0) { weaponManager.Reload(); } }
[Client]//run only on clients,no interference of net void Shoot() { if (!isLocalPlayer || weaponManager.isReloading) { return; } if (currentWeapon.CurrentBullets <= 0) { weaponManager.Reload(); return; } currentWeapon.CurrentBullets--; Debug.Log("Remaining bullets: " + currentWeapon.CurrentBullets); CmdOnShoot(); RaycastHit _Hit; if (Physics.Raycast(cam.transform.position, cam.transform.forward, out _Hit, currentWeapon.range, mask)) { if (_Hit.collider.tag == PLAYER_TAG) { CmdPlayerShot(_Hit.collider.name, currentWeapon.Damage, transform.name); } CmdOnHit(_Hit.point, _Hit.normal); } if (currentWeapon.CurrentBullets <= 0) { weaponManager.Reload(); } }
private void Update() { if (PauseMenu.isOn == true) { return; } currentWeapon = weaponManager.GetCurrentWeapon(); if (currentWeapon.currentAmmo < currentWeapon.maxCapacity) { if (Input.GetButtonDown("Reload")) { weaponManager.Reload(); return; } } if (!WeaponManager.isReloading) { if (currentWeapon.fireRate <= 0) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButton("Fire1")) { if (Time.time - lastFired > 1 / currentWeapon.fireRate) { lastFired = Time.time; Shoot(); } } } } if (Input.GetButtonDown("Fire2") && PlayerController.isSprinting == false) { isAiming = true; weaponManager.Aim(); } if (Input.GetButtonUp("Fire2")) { isAiming = false; weaponManager.Aim(); } if (PlayerController.isSprinting == true) { isAiming = false; } }
void Update() { Vector2 shootDir = DungeonGameManager.GetAimingVector(); if ((Input.GetAxis("Fire1") > 0 || shootDir.sqrMagnitude != 0) && Time.time - timeLastFired > weaponManager.Weapon.Info.cycleTime) { if (weaponManager.Weapon.CurrentAmmo == 0) { weaponManager.Reload(); return; } timeLastFired = Time.time; --weaponManager.Weapon.CurrentAmmo; float halfAngle = weaponManager.Weapon.Info.inaccuracy / 2f; Quaternion randomQuaternion = bulletSpawnPoint.rotation; randomQuaternion.eulerAngles += new Vector3(0f, 0f, Random.Range(-halfAngle, halfAngle)); GameObject bullet = Instantiate(weaponManager.Weapon.Info.bullet, bulletSpawnPoint.position, randomQuaternion); Rigidbody2D rbBullet = bullet.GetComponent <Rigidbody2D>(); BulletController bm = bullet.GetComponent <BulletController>(); bm.lifeTime = weaponManager.Weapon.Info.bulletLifeTime; bm.damage = weaponManager.Weapon.Info.damage; bm.maxCollisions = weaponManager.Weapon.Info.penetrationDepth; bm.gameObject.layer = LayerMask.NameToLayer(bulletLayer); //bm.targetTags = new string[] {"Enemy"}; float randomAngle = randomQuaternion.eulerAngles.z * Mathf.Deg2Rad; Vector2 directionVector = new Vector2(Mathf.Cos(randomAngle), Mathf.Sin(randomAngle)).normalized; rbBullet.velocity = directionVector * weaponManager.Weapon.Info.bulletSpeed; // + rbPlayer.velocity; //ps.Play(); if (weaponManager.Weapon.CurrentAmmo == 0) { weaponManager.Reload(); } } }
void Shoot() { if (!isLocalPlayer) { return; } if (weaponManager.isReloading) { return; } currentWeapon.bullets--; // We are shooting, call OnShoot on the server. CmdOnShoot(); RaycastHit _hit; if (Physics.Raycast(cam.transform.position, cam.transform.forward, out _hit, currentWeapon.range, mask)) { if (_hit.collider.tag == PLAYER_TAG) { CmdPlayerShot(_hit.collider.name, currentWeapon.damage, this.name); } // We hit something, call on hit on the server. CmdOnHit(_hit.point, _hit.normal); } if (currentWeapon.bullets <= 0) { weaponManager.Reload(); return; } }
// Update is called once per frame void Update() { if (Input.GetButtonDown("Fire1")) { if (manager) { manager.GetCurrentWeapon().PressTrigger(); } } else if (Input.GetButtonUp("Fire1")) { if (manager) { manager.GetCurrentWeapon().ReleaseTrigger(); } } else if (Input.GetKeyDown(KeyCode.R)) { if (manager) { manager.Reload(); } } else { foreach (var pair in keyMap) { if (Input.GetKeyDown(pair.Key)) { manager.SetCurrentWeapon(pair.Value); } } } }
// action map // 0,1: movement // 0 is forward movement, 1 is strafing. range -1, 1 // 2,3: look // 2 is horizontal, 3 is vertical. range -1, 1 // 4: jump // 1-hot // 5: shoot // 1-hot // 6: reload // 1-hot // 7: quick swap weapon // 1-hot // 8: throw grenade // 1-hot public override void AgentStep(float[] act) { // actions movement.Move(new Vector2(act[0], act[1])); movement.MoveEyes(new Vector2(act[2], act[3])); if (act[4] == 1) { movement.Jump(); } if (act[5] == 1) { wm.Shoot(); } if (act[6] == 1) { wm.Reload(); } if (act[7] == 1) { wm.QuickSwapWeapon(); } if (act[8] == 1) { wm.ThrowGrenade(); } // rewards float rewardIncrement = 0; // TODO: implement rewards reward += rewardIncrement; }
private void Update() { SetHealthAmount(player.GetHealthPct()); if (!weaponManager.isReloading) { SetAmmoAmount(weaponManager.GetCurrentWeapon().bullets, weaponManager.GetCurrentWeapon().maxBullets); } else { SetAmmoAmount(0, weaponManager.GetCurrentWeapon().maxBullets); } if (Input.GetKeyDown(KeyCode.Tab)) { scoreboard.SetActive(true); } else if (Input.GetKeyUp(KeyCode.Tab)) { scoreboard.SetActive(false); } if (Input.GetKeyDown(KeyCode.R) && !weaponManager.isReloading) { weaponManager.Reload(); } }
private void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (PauseMenu.IsOn) { return; } if (Input.GetKeyDown(KeyCode.R)) { if (currentWeapon.bullets < currentWeapon.maxBullets) { weaponManager.Reload(); return; } } if (currentWeapon.fireRate == 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } if (Input.GetKeyDown(KeyCode.Alpha1)) { weaponManager.EquipPrimaryWeapon(); } if (Input.GetKeyDown(KeyCode.Alpha2)) { weaponManager.EquipSecondaryWeapon(); } }
private void TryToReload() { // if the gun isn't focus and the player doesn't try to shoot if (!isGunFocused) { audioManager.Play(weaponManager.GetCurrentWeapon().soundReload); // play the sound weaponManager.Reload(); } }
void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (PauseMenu.IsOn) { return; } if (currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButtonDown("Reload")) { reloadsound.Play(); weaponManager.Reload(); return; } } if (currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { CancelInvoke("Shoot"); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
// Update is called once per frame void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (PauseMenu.isOn) { return; } if (currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButtonDown("Reload")) { weaponManager.Reload(); return; } } if (currentWeapon == null) { Debug.Log("Weapon is null"); } if (currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
public void Shot() { if (Input.GetButton("Shot")) { WM.Shot(); } if (Input.GetButtonDown("Reload")) { WM.Reload(); } }
//Called every Frame void Update() { //Debug.Log(shooting); currentWeapon = weaponManager.GetCurrentWeapon(); if (PauseMenu.IsOn) { return; } if (currentWeapon.ammo < currentWeapon.maxAmmo) { if (Input.GetButtonDown("Reload")) { weaponManager.Reload(); return; } } if (currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); shooting = false; } } }
void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); // if controll blocked, then function stops here if (blockedControll) { return; } if (currentWeapon != null && currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButtonDown("Reload")) { weaponManager.Reload(); return; } } if (currentWeapon != null && currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else if (currentWeapon != null) { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (PauseGame.isOn) //Pausemode on validation { return; } if (currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButtonDown("Reload"))//Reload function if R key is pressed { weaponManager.Reload(); return; } } if (currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
void Update() { currWeapon = weaponManager.GetCurrWeapon(); //tes = weaponManager.GetCurrProjectile(); if (PauseMenu.isOn) { return; } if (currWeapon.currBullets < currWeapon.maxBullets) { if (Input.GetKeyDown(KeyCode.R)) { weaponManager.Reload(); return; } } if (currWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
private void OnEnable() { // Weapon Controller.Controls.Player.Reload.performed += ctx => Manager.Reload(); Manager.FinishedSwitching += WeaponControls.SetWeaponOptions; Controller.Controls.Player.Fire.performed += ctx => Manager.CurrentWeapon?.GetMechanism().Trigger(true); Controller.Controls.Player.Fire.canceled += ctx => Manager.CurrentWeapon?.GetMechanism().Trigger(false); Controller.Controls.Player.Switch.started += ctx => Manager.Scrolling(Controller.Controls.Player.Switch.ReadValue <Vector2>().y); Controller.Controls.Player.Special.started += ctx => Manager.CurrentWeapon?.GetMechanism().SecondaryButton(true); Controller.Controls.Player.Special.canceled += ctx => Manager.CurrentWeapon?.GetMechanism().SecondaryButton(false); WeaponControls.SetWeaponOptions(); Controller.Controls.Player.Break.performed += ctx => VehicleControl.Break(); }
void Update() { _currentWeapon = _weaponManager.GetCurrentWeapon(); if (GameManager.Instance.IsMenuOpened) { return; } if (_currentWeapon.bullets < _currentWeapon.maxBullets) { if (Input.GetKeyDown(KeyCode.R)) { _weaponManager.Reload(); return; } } if (_currentWeapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / _currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
private void Update() { currentweapon = weaponManager.getCurrentWeapon(); if (PauseMenu.isOn) { return; } if (currentweapon.ammo < currentweapon.maxAmmos) { if (Input.GetKeyDown(KeyCode.R)) { weaponManager.Reload(); return; } } if (currentweapon.fireRate <= 0f) { if (Input.GetButtonDown("Fire1")) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { InvokeRepeating("Shoot", 0f, 1f / currentweapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
void Shoot() { if (!isLocalPlayer) { return; } if (currentWeapon.bullets <= 0) { weaponManager.Reload(); Debug.Log("out of bullets"); return; } Animator anim = weaponHolder.GetComponentInChildren <Animator>(); anim.SetBool("bFire", true); GetComponent <AudioSource>().Play(); currentWeapon.bullets--; CmdOnShoot(); Debug.Log("Remaining bullets " + currentWeapon.bullets); Debug.Log("SHOOT"); RaycastHit _hit; if (Physics.Raycast(cam.transform.position, cam.transform.forward, out _hit, currentWeapon.range, mask)) { if (_hit.collider) { Debug.Log("hit " + _hit.collider.tag); if (_hit.collider.tag == PLAYER_TAG && _hit.collider.name != GetComponentInChildren <UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().transform.name) { CmdPlayerShot(_hit.collider.name, currentWeapon.damage, GetComponentInChildren <UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().transform.name); Debug.Log(GetComponentInChildren <UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().transform.name + " shoot " + _hit.collider.name); } } // We hit something, call the OnHit method on the server //CmdOnHit(_hit.point, _hit.normal); } }
private void ProcessInput() { bool shootInput = Weapon.auto && Input.GetButton("Fire1") || Input.GetButtonDown("Fire1"); shootCooldown -= Time.deltaTime; if (!weaponManager.IsReloading && shootCooldown <= 0 && shootInput) { shootCooldown = Weapon.ShootCooldown; if (Weapon.Bullets > 0) { Shoot(); Weapon.Shoot(); } } bool reload = !weaponManager.IsReloading && (Weapon.Bullets == 0 || Input.GetKeyDown(KeyCode.R)); if (reload) { weaponManager.Reload(); } }
void Update() { if (canCollect) { RaycastItem(); } if (canInteract) { RaycastDoor(); RaycastSyringe(); RaycastDNA(); RaycastPanel(); RaycastPortal(); } if (onConversation) { OnConversation(true); if (canSkip) { if (Input.GetButtonDown("Interact")) { FindObjectOfType <Button>().PlayNext(); FindObjectOfType <NPCDialogue>().DisplayNextSentence(); } } } if (canOpenInv) { if (Input.GetButtonDown("Open Inventory")) { if (!uiManager.GetInventoryVisible()) { uiManager.ShowInventory(true); } else { uiManager.ShowInventory(false); } } if (Input.GetButtonDown("Cancel")) { if (uiManager.GetInventoryVisible()) { uiManager.ShowInventory(false); } } } if (canEsc) { if (Input.GetButtonDown("Cancel")) { if (!uiManager.GetMenuVisible()) { uiManager.ShowMenu(true); } else if (uiManager.GetMenuVisible()) { uiManager.ShowMenu(false); } } } if (canEquipWep) { if (Input.GetKeyDown(KeyCode.Alpha1)) { EquipWeaponInSlot(0); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { EquipWeaponInSlot(1); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { EquipWeaponInSlot(2); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { EquipWeaponInSlot(3); } else if (Input.GetKeyDown(KeyCode.Alpha5)) { EquipWeaponInSlot(4); } } if (canShoot) { if (Input.GetButtonDown("Fire1")) { if (player.GetWeapon() != null) { weaponManager.Fire(); } } else if (Input.GetButton("Fire1")) { if (player.GetWeapon() != null) { if (player.GetWeapon().WeaponType == WeaponEnum.AssaultRifle) { weaponManager.Fire(); } } } else if (Input.GetButtonDown("Reload")) { if (player.GetWeapon() != null) { weaponManager.Reload(); } } } #region Cheat if (Input.GetKeyDown(KeyCode.Keypad0)) { WeaponManager.instance.GetComponent <Pistol>().CurrentSpare += 666; WeaponManager.instance.GetComponent <Pistol>().Damage = 100; } if (Input.GetKeyDown(KeyCode.Keypad1)) { player.GetPoisonState().tempPoisonTime = 10; } if (Input.GetKeyDown(KeyCode.Keypad2)) { WeaponManager.instance.GetComponent <Sedat>().CurrentSpare += 666; WeaponManager.instance.GetComponent <Sedat>().Damage = 10; } #endregion }
private void Reload() { weaponManager.Reload(); }
private void Update() { currentWeapon = weaponManager.GetCurrentWeapon(); if (currentWeapon == null) { return; } if (PauseMenu.isOn) { return; } if (isLocalPlayer) { //Weapon switching keycodes if (Input.GetKeyDown(KeyCode.Alpha1)) { weaponManager.CmdSwitchWeapon(1); return; } if (Input.GetKeyDown(KeyCode.Alpha2)) { weaponManager.CmdSwitchWeapon(2); return; } if (Input.GetKeyDown(KeyCode.Alpha3)) { weaponManager.CmdSwitchWeapon(3); return; } if (Input.GetKeyDown(KeyCode.Alpha4)) { weaponManager.CmdSwitchWeapon(4); return; } } //Only allows reloading if the clip is not full if (currentWeapon.bullets < currentWeapon.maxBullets && Input.GetButton("Reload")) { weaponManager.Reload(); return; } if (weaponManager.currentWeaponIndex == 3) { if (Input.GetButtonDown("Fire2")) { defaultFOV = mainCamera.fieldOfView; weaponCamera.SetActive(false); mainCamera.fieldOfView = zoomedInFOV; } if (Input.GetButtonUp("Fire2")) { weaponCamera.SetActive(true); mainCamera.fieldOfView = defaultFOV; } } //If a weapon has a fire rate of 0f then it is not automatic and requires //a button press for every shot made if (currentWeapon.fireRate <= 0f) { //Checking if enough time has passed since the last shot made by //manual weapons if (Input.GetButtonDown("Fire1") && (Time.time - lastShotTime) > currentWeapon.manualShootingFireRate) { Shoot(); } } else { if (Input.GetButtonDown("Fire1")) { //Automatic weapons are shooting as long as the fire button is pressed InvokeRepeating("Shoot", 0f, currentWeapon.fireRate); } else if (Input.GetButtonUp("Fire1")) { CancelInvoke("Shoot"); } } }
// Update is called once per frame void Update() { if (PauseMenu.isOn || !isLocalPlayer) { return; } if (currentWeapon.bullets < currentWeapon.maxBullets) { if (Input.GetButton("Reload") && !GameManager.instance.chatSelected) { if ((inventory.ammo - currentWeapon.bullets) > 0) { weaponManager.Reload(); } } } // Aim Down Sight if (Input.GetButtonDown("ADS")) { if (ads) { // Zoom out weaponCameraAnim.SetBool("Scoped_b", !ads); crosshair.SetBool("Scoped_b", !ads); if (currentWeapon.weaponType == 5) { sniperScope.SetActive(false); weaponCamera.gameObject.SetActive(true); weaponCameraAnim.SetInteger("Weapon_int", currentWeapon.weaponType); cam.fieldOfView = normalFOV; } } else { // Zoom in weaponCameraAnim.SetBool("Scoped_b", !ads); crosshair.SetBool("Scoped_b", !ads); if (currentWeapon.weaponType == 5) { StartCoroutine(SniperScope()); } } ads = !ads; } // Automatic weapon if (currentWeapon.auto) { if (Input.GetButton("Fire1") && Time.time >= shootCooldown) { shootCooldown = Time.time + 1f / currentWeapon.fireRate; Shoot(); } // Non-auto weapon } else { if (Input.GetButtonDown("Fire1") && Time.time >= shootCooldown) { shootCooldown = Time.time + 1f / currentWeapon.fireRate; Shoot(); } } // Recoil weaponHolder.localPosition = Vector3.SmoothDamp(weaponHolder.localPosition, weaponHolderOrigin, ref recoilSmoothDampVelocity, recoilSettleTime); recoilAngle = Mathf.SmoothDamp(recoilAngle, 0, ref recoilRotSmoothDampVelocity, recoilRotateSettleTime); weaponHolder.localEulerAngles = weaponInitialAngle + Vector3.down * recoilAngle; camParent.localEulerAngles = Vector3.left * recoilAngle / 10f; }