public override void Collided(ICollidable i_Collidable) { Enemy enemy = i_Collidable as Enemy; Bullet bullet = i_Collidable as Bullet; if (enemy != null) { if (!this.ShootingSpriteType.Name.Equals("Enemy")) { if (!enemy.isDying) { Player player = SpaceInvadersServices.GetPlayerComponent(this.Game, this.GunSerialNumber); EnemiesMatrix enemiesMatrix = SpaceInvadersServices.GetEnemeiesMatrixComponent(this.GameScreen); enemiesMatrix.SpeedUp(0.92); enemy.LastAnimation(); if (player != null) { player.AddScore(enemy.Points); } enemy.Dispose(); } this.GameScreen.Remove(this); this.Dispose(); } } else if (bullet != null) { if (!bullet.ShootingSpriteType.Name.Equals(this.ShootingSpriteType.Name)) { if (this.ShootingSpriteType.Name.Equals("SpaceShip")) { this.GameScreen.Remove(this); this.Dispose(); } else if (this.ShootingSpriteType.Name.Equals("Enemy")) { int randomNumber = new Random().Next(1, 10); if (randomNumber == 1) { this.GameScreen.Remove(this); this.Dispose(); } } } } }
public override void Collided(ICollidable i_Collidable) { Enemy enemy = i_Collidable as Enemy; if (enemy != null) { SpaceInvadersServices.GameOver(this.Game); this.GameScreen.Remove(enemy); enemy.Dispose(); } Bullet bullet = i_Collidable as Bullet; if (bullet != null && !isDying) { if (!bullet.ShootingSpriteType.Name.Equals("SpaceShip")) { handleBulletCollision(bullet); } } }