void ControlGunWithMouse() { // Get the mouse position cameraRay = Camera.main.ScreenPointToRay(Input.mousePosition); mouseRealWorldPosition = cameraRay.GetPoint(cameraToGunDistance); // Find the direction from mouse to gun gunDirection.x = mouseRealWorldPosition.x - gun.transform.position.x; gunDirection.y = mouseRealWorldPosition.y - gun.transform.position.y; // Turn the gun around gun.transform.rotation = LookRotation2D(gunDirection); // Check if we want to fire a bullet if (Input.GetMouseButtonDown(0) == true) { isFiring = true; gunType.Fire(gun.transform); gunParticles.Emit(50); lastFired = Time.time; } else if (isFiring == true) { if (Input.GetMouseButtonUp(0) == true) { isFiring = false; } else if ((Time.time - lastFired) > gunType.GapBetweenFire) { gunType.Fire(gun.transform); gunParticles.Emit(50); lastFired = Time.time; } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IPlayer aliveCivilPlayer = civilPlayers.FirstOrDefault(cp => cp.IsAlive); IGun loadedGun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire); while (aliveCivilPlayer != null && loadedGun != null) { int shots = loadedGun.Fire(); aliveCivilPlayer.TakeLifePoints(shots); aliveCivilPlayer = civilPlayers.FirstOrDefault(cp => cp.IsAlive); loadedGun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire); } List <IPlayer> alivePlayers = civilPlayers.Where(p => p.IsAlive).ToList(); foreach (IPlayer player in alivePlayers) { loadedGun = player.GunRepository.Models.FirstOrDefault(g => g.CanFire); while (mainPlayer.IsAlive && loadedGun != null) { int shots = loadedGun.Fire(); mainPlayer.TakeLifePoints(shots); } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun gun = mainPlayer.GunRepository.Models.FirstOrDefault(); if (gun != null) { foreach (var player in civilPlayers) { while (gun.CanFire && player.IsAlive) { int bulletsFired = gun.Fire(); player.TakeLifePoints(bulletsFired); } if (!gun.CanFire) { this.gunRepository.Remove(gun); gun = mainPlayer.GunRepository.Models.FirstOrDefault(); } } } List <IPlayer> alivePlayers = civilPlayers .Where(x => x.IsAlive) .ToList(); foreach (var player in alivePlayers) { IGun civilGun = player.GunRepository.Models.FirstOrDefault(); if (civilGun != null) { while (player.GunRepository.Models.Count > 0 && mainPlayer.IsAlive) { while (gun.TotalBullets > 0 && mainPlayer.IsAlive) { int bulletsFired = gun.Fire(); player.TakeLifePoints(bulletsFired); } this.gunRepository.Remove(gun); gun = mainPlayer.GunRepository.Models.FirstOrDefault(); } if (mainPlayer.IsAlive) { break; } } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { while (true) { IGun gun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire == true); IPlayer target = civilPlayers.FirstOrDefault(t => t.IsAlive == true); if (gun == null || target == null) { break; } int damagePoints = gun.Fire(); target.TakeLifePoints(damagePoints); } while (true) { IPlayer player = civilPlayers.FirstOrDefault(t => t.IsAlive == true); IGun gun = player.GunRepository.Models.FirstOrDefault(g => g.CanFire == true); if (player == null || gun == null) { break; } int damagePoints = gun.Fire(); mainPlayer.TakeLifePoints(damagePoints); if (mainPlayer.IsAlive == false) { break; } } }
private void PlayerAttack(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { var players = civilPlayers.Where(x => x.IsAlive == true).Where(x => x.GunRepository.Models.Count > 0); foreach (IPlayer player in players) { IGun gun = player.GunRepository.Models.FirstOrDefault(x => x.CanFire == true); while (true) { mainPlayer.TakeLifePoints(gun.Fire()); if (!gun.CanFire) { player.GunRepository.Remove(gun); gun = player.GunRepository.Models.FirstOrDefault(x => x.CanFire == true); } if (!mainPlayer.IsAlive) { return; } if (gun == null) { break; } } } }
private void MainPlayerAttack(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun gun = mainPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire == true); IPlayer player = civilPlayers.FirstOrDefault(x => x.IsAlive == true); while (true) { if (player == null || gun == null) { break; } player.TakeLifePoints(gun.Fire()); if (!gun.CanFire) { player.GunRepository.Remove(gun); gun = mainPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire == true); } if (!player.IsAlive) { civilPlayers.Remove(player); this.deadCivilPlayers++; player = civilPlayers.FirstOrDefault(x => x.IsAlive == true); } if (player == null || gun == null) { break; } } }
protected override void Update() { if (controlEnabled) { m_Move.x = Input.GetAxis("Horizontal"); if (m_JumpState == JumpState.Grounded && Input.GetButtonDown("Jump")) { m_JumpState = JumpState.PrepareToJump; } else if (Input.GetButtonUp("Jump")) { m_IsStopJump = true; } else if (Input.GetButton("Fire1")) { if (m_Gun != null) { m_Gun.Fire(); } else { Debug.LogError("检查是否添加了枪械"); } } } else if (m_Move.x != 0) { m_Move.x = Mathf.Lerp(m_Move.x, 0, Time.deltaTime); } UpdateJumpState(); base.Update(); }
public void HandleInput(TouchCollection previousTouchCollection, TouchCollection currentTouchCollection, GameTime gameTime) { if (currentTouchCollection.Count > 0 && (currentTouchCollection[0].Position.Y / ScaleY) < Defaults.GraphicsHeight - ContentHandler.Images["ColorButton_Off"].Height) { Gun.Fire(new Vector2(Position.X, Position.Y), new Vector2(0, -1)); Position = new Vector2((int)(currentTouchCollection[0].Position.X / ScaleX), (int)(currentTouchCollection[0].Position.Y / ScaleY)); } }
public void Shoot() { Debug.Log("Trying to make a shoot"); if (_isArmed) { _weapon.Fire(); } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun gun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire); IPlayer civil = civilPlayers.FirstOrDefault(c => c.IsAlive); if (gun == null) { return; } if (civil == null) { return; } while (civilPlayers.Count > 0 && mainPlayer.GunRepository.Models.Any(g => g.CanFire)) { civil.TakeLifePoints(gun.Fire()); if (!gun.CanFire) { gun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire); } else if (!civil.IsAlive) { civilPlayers.Remove(civil); civil = civilPlayers.FirstOrDefault(c => c.IsAlive); } } while (mainPlayer.IsAlive) { mainPlayer.TakeLifePoints(gun.Fire()); if (!gun.CanFire) { gun = civil.GunRepository.Models.FirstOrDefault(g => g.CanFire); } else if (civil.GunRepository.Models.Count == 0) { civil = civilPlayers.FirstOrDefault(c => c.IsAlive); } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun currGun = mainPlayer.GunRepository.Models.First(); IPlayer currPlayer = civilPlayers.First(); while ((mainPlayer.GunRepository.Models.Count != 0 && currGun.CanFire) || (civilPlayers.Count != 0 && !currPlayer.IsAlive)) { if (!currGun.CanFire) { currGun = mainPlayer.GunRepository.Models.First(); mainPlayer.GunRepository.Remove(currGun); } if (!currPlayer.IsAlive) { currPlayer = civilPlayers.First(); civilPlayers.Remove(currPlayer); } while (currPlayer.IsAlive && currGun.CanFire) { currPlayer.TakeLifePoints(currGun.Fire()); } } if (currPlayer.IsAlive) { while (civilPlayers.Count != 0 && currPlayer.GunRepository.Models.Count != 0 && !mainPlayer.IsAlive) { while (currPlayer.GunRepository.Models.Count != 0 || !mainPlayer.IsAlive) { currGun = currPlayer.GunRepository.Models.First(); currPlayer.GunRepository.Remove(currGun); while (!mainPlayer.IsAlive || !currGun.CanFire) { mainPlayer.TakeLifePoints(currGun.Fire()); } } } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { while (mainPlayer.GunRepository.Models.Count > 0 && civilPlayers.Count > 0) { IGun mainPlayerGun = mainPlayer.GunRepository.Models.ToList()[0]; while (mainPlayerGun.CanFire && civilPlayers.Count > 0) { IPlayer player = civilPlayers.ToList()[0]; int bullets = mainPlayerGun.Fire(); player.TakeLifePoints(bullets); if (!player.IsAlive) { civilPlayers.Remove(player); } } mainPlayer.GunRepository.Remove(mainPlayerGun); } List <IPlayer> players = new List <IPlayer>(); players = civilPlayers.ToList(); while (mainPlayer.IsAlive && players.Count > 0) { IPlayer player = players.ToList()[0]; if (player.GunRepository.Models.Count > 0) { IGun playerGun = player.GunRepository.Models.ToList()[0]; while (playerGun.CanFire && mainPlayer.IsAlive) { int bullets = playerGun.Fire(); mainPlayer.TakeLifePoints(bullets); } player.GunRepository.Remove(playerGun); if (player.GunRepository.Models.Count == 0) { players.Remove(player); } } else { players.Remove(player); } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { while (mainPlayer.GunRepository.Models.Any() && civilPlayers.Any()) { IGun gun = mainPlayer.GunRepository.Models.First(); IPlayer player = civilPlayers.First(); while (gun.CanFire && player.IsAlive) { int currentPoints = gun.Fire(); player.TakeLifePoints(currentPoints); } if (!gun.CanFire) { mainPlayer.GunRepository.Remove(gun); } if (!player.IsAlive) { civilPlayers.Remove(player); } } foreach (IPlayer player in civilPlayers) { while (player.GunRepository.Models.Any()) { IGun gun = player.GunRepository.Models.First(); while (gun.CanFire && mainPlayer.IsAlive) { int currentPoints = gun.Fire(); mainPlayer.TakeLifePoints(currentPoints); } if (!gun.CanFire) { player.GunRepository.Remove(gun); } if (!mainPlayer.IsAlive) { return; } } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { while (true) { IPlayer currentCivilPlayer = civilPlayers.FirstOrDefault(p => p.IsAlive == true); if (currentCivilPlayer == null) { break; } IGun gun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire == true); if (gun == null) { break; } currentCivilPlayer.TakeLifePoints(gun.Fire()); } while (true) { IPlayer currentCivilPlayer = civilPlayers.FirstOrDefault(p => p.IsAlive == true); if (currentCivilPlayer == null) { break; } IGun gun = currentCivilPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire == true); if (gun == null) { break; } mainPlayer.TakeLifePoints(gun.Fire()); if (mainPlayer.IsAlive == false) { break; } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { while (true) { IGun currentGun = mainPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire || g.TotalBullets > 0); if (currentGun == null) { break; } IPlayer civilPlayer = civilPlayers.FirstOrDefault(p => p.IsAlive); if (civilPlayer == null) { break; } civilPlayer.TakeLifePoints(currentGun.Fire()); //if (civilPlayer.IsAlive == false) //{ // break; //} } foreach (IPlayer civilPlayer in civilPlayers.Where(p => p.IsAlive)) { while (true) { IGun currentGun = civilPlayer.GunRepository.Models.FirstOrDefault(g => g.CanFire || g.TotalBullets > 0); if (currentGun == null) { break; } mainPlayer.TakeLifePoints(currentGun.Fire()); if (!mainPlayer.IsAlive) { return; } } } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Mouse0)) { //startAudio gunSoundSource.Play(); } if (Input.GetKey(KeyCode.Mouse0)) { m_gunScript.Fire(); } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo)) { m_gunScript.LookAt(hitInfo.point); } if (Input.GetKeyUp(KeyCode.Mouse0)) { gunSoundSource.Pause(); //stop audio } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { Queue <IGun> guns = new Queue <IGun>(mainPlayer.GunRepository.Models); Queue <IPlayer> victims = new Queue <IPlayer>(civilPlayers); while (victims.Count > 0 && guns.Count > 0) { IPlayer victim = victims.Peek(); IGun gun = guns.Peek(); while (victim.IsAlive && (gun.BulletsPerBarrel > 0 || gun.TotalBullets > 0)) { victim.TakeLifePoints(gun.Fire()); } if (victim.IsAlive) { guns.Dequeue(); } else { if (gun.BulletsPerBarrel <= 0 && gun.TotalBullets <= 0) { guns.Dequeue(); } victims.Dequeue(); civilPlayers.Remove(victim); } } while (victims.Count > 0) { IPlayer victim = victims.Peek(); while (victim.GunRepository.Models.Count > 0) { IGun gun = victim.GunRepository.Models.First(); while ((gun.BulletsPerBarrel > 0 || gun.TotalBullets > 0) && mainPlayer.IsAlive) { mainPlayer.TakeLifePoints(gun.Fire()); } if (mainPlayer.IsAlive) { victim.GunRepository.Remove(gun); } else { break; } } if (!mainPlayer.IsAlive) { break; } victims.Dequeue(); civilPlayers.Remove(victim); } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { List <IGun> repository = mainPlayer.GunRepository.Models.ToList(); while (civilPlayers.Count != 0) { if (repository.Count == 0) { break; } IGun gun = repository.First(); IPlayer player = civilPlayers.First(); while (gun.CanFire && player.IsAlive) { player.TakeLifePoints(gun.Fire()); } if (player.IsAlive == false) { civilPlayers.Remove(player); } if (gun.CanFire == false) { mainPlayer.GunRepository.Remove(gun); repository.Remove(gun); } } if (civilPlayers.Count != 0) { bool alive = true; foreach (var player in civilPlayers) { List <IGun> playerRepo = player.GunRepository.Models.ToList(); if (playerRepo.Count != 0) { foreach (var gun in playerRepo) { while (gun.CanFire && mainPlayer.IsAlive) { mainPlayer.TakeLifePoints(gun.Fire()); } if (mainPlayer.IsAlive == false) { alive = false; break; } } } if (!alive) { break; } } } }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun gun = null; #region MainPlayer while (mainPlayer.GunRepository.Models.Count > 0) { foreach (var firstGun in mainPlayer.GunRepository.Models) { gun = firstGun; break; } while (true) { if (civilPlayers.Count == 0) { return; } if (gun.CanFire) { var dmg = gun.Fire(); civilPlayers.First().TakeLifePoints(dmg); if (!civilPlayers.First().IsAlive) { civilPlayers.Remove(civilPlayers.First()); } } else { break; } } } #endregion #region CivilPlayers var currentCivilPlayers = civilPlayers.ToList(); for (int i = 0; i < civilPlayers.Count; i++) { var player = currentCivilPlayers[i]; foreach (var firstGun in player.GunRepository.Models) { gun = firstGun; break; } while (true) { if (!mainPlayer.IsAlive) { return; } if (gun.CanFire) { var dmg = gun.Fire(); mainPlayer.TakeLifePoints(dmg); } else { break; } } } #endregion }
public void Action(IPlayer mainPlayer, ICollection <IPlayer> civilPlayers) { IGun currentGun = null; foreach (var civilian in civilPlayers) { if (mainPlayer.GunRepository.Models.Count > 0) { currentGun = mainPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire); } while (civilian.IsAlive) { if (currentGun == null) { break; } if (!currentGun.CanFire) { mainPlayer.GunRepository.Remove(currentGun); if (mainPlayer.GunRepository.Models.Count == 0) { break; } currentGun = mainPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire); } civilian.TakeLifePoints(currentGun.Fire()); } } var survivedCivilians = civilPlayers.Where(x => x.IsAlive).ToList(); if (survivedCivilians.Count > 0) { foreach (var survivor in survivedCivilians) { IGun civilianGun = survivor.GunRepository.Models.FirstOrDefault(g => g.CanFire); while (mainPlayer.IsAlive) { if (civilianGun == null) { break; } if (!civilianGun.CanFire) { survivor.GunRepository.Remove(civilianGun); civilianGun = survivor.GunRepository.Models.FirstOrDefault(g => g.CanFire); } mainPlayer.TakeLifePoints(civilianGun.Fire()); } } } //var currentGun = mainPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire); //foreach (var civilPlayer in civilPlayers) //{ // while (civilPlayer.IsAlive) // { // if (currentGun == null) // { // break; // } // while (currentGun.CanFire) // { // int lifeToTake = currentGun.Fire(); // civilPlayer.TakeLifePoints(lifeToTake); // } // } //} //foreach (var civilPlayer in civilPlayers.Where(x => x.IsAlive)) //{ // while (mainPlayer.IsAlive) // { // var currentGun2 = civilPlayer.GunRepository.Models.FirstOrDefault(x => x.CanFire); // if (currentGun2 == null) // { // break; // } // while (currentGun2.CanFire) // { // int lifeToTake = currentGun2.Fire(); // mainPlayer.TakeLifePoints(lifeToTake); // } // } //} }
public void Fire() { _gun.Fire(); ShowBulletsInfo(); }
private void Shoot() { _gun.Fire(_ammoManager.Ammo.gameObject); }