private void OnShotMissed(ShotMissed e) { _shots.Add(new MissedShotVisual( new RectangleTexture(UiColors.Gunshot).Create(), CalculateTransform(e.Attacker, e.Target, (_random.Next(0, 1) == 0 ? -1 : 1) * _random.Next(2, 5) * 0.1), e.Attacker.CurrentTile.Position)); }
public Task Handle(ShotMissed message) { _gameDisplay.DisplayMissed(); _store.AddMiss(message.Target.X, message.Target.Y); _gameDisplay.DisplayBoard(_store.ShotsTaken, _store.BoardSize); return(Task.CompletedTask); }
private void OnShotMissed(ShotMissed e) { if (e.Target.Equals(_owner)) { Add("Miss"); } }
/// <summary> /// Выстрелить по этому игроку. /// </summary> /// <param name="cell"></param> protected virtual void Hit(Cell cell) { bool missedShot = true; foreach (var ship in ships) { int damagedBlock = ship.GetBlockIndex(cell); if (damagedBlock > -1) { ship.Hit(damagedBlock); missedShot = false; if (ship.IsAlive()) { ShipBlockDamaged?.Invoke(this, cell); } else { ships.Remove(ship); ShipDied?.Invoke(this, ship); if (GetCountAliveShips() == 0) { AllShipsDied?.Invoke(this); } } break; } } if (missedShot) { ShotMissed?.Invoke(this, cell); BindStep(); } else { EnemyPlayer.BindStep(); } }
private void OnShotMissed(ShotMissed obj) { Sound.SoundEffect($"SFX/shot-miss-1.wav", 0.8f).Play(); }
private void Apply(ShotMissed e) { this._shotsTaken.Add(e.Target); }