From a42938d1553565e3d864fa46c04401bbb6f8d13f Mon Sep 17 00:00:00 2001 From: aldrikboy Date: Thu, 14 Dec 2017 23:35:47 +0100 Subject: New balloons & sounds. Objects can now shoot projectiles. --- Penguloon/Enemies/EnemyBase.cs | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'Penguloon/Enemies/EnemyBase.cs') diff --git a/Penguloon/Enemies/EnemyBase.cs b/Penguloon/Enemies/EnemyBase.cs index d9413b4..c67e3bc 100644 --- a/Penguloon/Enemies/EnemyBase.cs +++ b/Penguloon/Enemies/EnemyBase.cs @@ -24,6 +24,8 @@ namespace Penguloon.Enemies public Rectangle Box { get; set; } + public int HealthToTake { get; set; } + public EnemyBase(Map map) { this.Map = map; @@ -34,7 +36,8 @@ namespace Penguloon.Enemies public void Update(float deltaTime) { - Box = new Rectangle(Position.ToPoint(), new Point(Map.TileWidth, Map.TileHeight)); + 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))); int tileX = (int)(TargetPosition.X + 2) / Map.TileWidth; int tileY = (int)(TargetPosition.Y + 2) / Map.TileHeight; @@ -67,7 +70,12 @@ namespace Penguloon.Enemies private void ReachEnd() { - Map.Level.Health--; + if (!Map.Level.Finished) + { + Map.Level.Health -= HealthToTake; + if (Map.Level.Health < 0) + Map.Level.Health = 0; + } Map.Enemies.Remove(this); } @@ -76,19 +84,22 @@ namespace Penguloon.Enemies { Health--; - if (Health <= 0) - Map.Enemies.Remove(this); + Map.Level.Money++; + Map.Level.Kills++; SpawnChild(); - // play pop sound + if (Health <= 0) + Map.Enemies.Remove(this); + + SoundManager.PlayBalloonPopSound(); } private void SpawnChild() { if (this.ChildObject == null) return; - Map.SpawnEnemy(ChildObject, Position, TargetPosition); + Map.SpawnEnemy(ChildObject, Position, TargetPosition, Map.Enemies.IndexOf(this)); } } } \ No newline at end of file -- cgit v1.2.3-70-g09d2