public void NotifyDeath(TriangleEnemy hitEnemy) { if (!_deadList.Contains(hitEnemy)) _deadList.Add(hitEnemy); if (_deadList.Count >= EnemySpawnCount) this.Destroy(); }
public void Hit(TriangleEnemy hitEnemy) { NotifyDeath(hitEnemy); if (_deadList.Count >= EnemySpawnCount) { this.Publish(new EnemyFlockDestroyedEvent(hitEnemy.Location.X * Settings.MetersToPixels, hitEnemy.Location.Y * Settings.MetersToPixels)); this.Publish(new BigPointsAwardedEvent(1000, hitEnemy.Location.X * Settings.MetersToPixels, hitEnemy.Location.Y * Settings.MetersToPixels, true)); this.Destroy(); } else { this.Publish(new EnemyDestoryedEvent(hitEnemy.Location.X * Settings.MetersToPixels, hitEnemy.Location.Y * Settings.MetersToPixels)); this.Publish(new PointsAwardedEvent(100 * (_deadList.Count + 1), hitEnemy.Location.X * Settings.MetersToPixels, hitEnemy.Location.Y * Settings.MetersToPixels)); } }