diff options
Diffstat (limited to 'Penguloon/Enemies')
| -rw-r--r-- | Penguloon/Enemies/EnemyBase.cs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Penguloon/Enemies/EnemyBase.cs b/Penguloon/Enemies/EnemyBase.cs index c67e3bc..9bb6230 100644 --- a/Penguloon/Enemies/EnemyBase.cs +++ b/Penguloon/Enemies/EnemyBase.cs @@ -26,6 +26,9 @@ namespace Penguloon.Enemies public int HealthToTake { get; set; } + public bool Dead { get; set; } = false; + public DateTime PopDate { get; set; } + public EnemyBase(Map map) { this.Map = map; @@ -36,6 +39,14 @@ namespace Penguloon.Enemies public void Update(float deltaTime) { + if (Dead) + { + if((DateTime.Now - PopDate).TotalMilliseconds > (100 / Map.Level.ParentScene.Speed)) + Map.Enemies.Remove(this); + return; + + } + int margin = 5; Box = new Rectangle(new Point((int)Position.X + margin, (int)Position.Y + margin), new Point(Map.TileWidth - (margin * 2), Map.TileHeight - (margin * 2))); @@ -90,7 +101,11 @@ namespace Penguloon.Enemies SpawnChild(); if (Health <= 0) - Map.Enemies.Remove(this); + { + Dead = true; + PopDate = DateTime.Now; + Texture = ContentManager.GetTexture("Enemies/pop"); + } SoundManager.PlayBalloonPopSound(); } |
