- mGame.State.mCharacters[j].causeDamageTo(mGame.State.mProjectiles[i].Damage);\r
- Console.WriteLine(mGame.State.mCharacters[j].Health);\r
- mGame.State.mProjectiles.RemoveAt(i);\r
- i--;\r
+ IMonster hitMonster = (IMonster)hitEntity;\r
+ hitMonster.causeDamageTo(mGame.State.mProjectiles[i].Damage);\r
+ if (hitMonster.Health > 0)\r
+ {\r
+ mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score += mGame.State.HitMonsterScore;\r
+ Console.WriteLine(mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score);\r
+ }\r
+ else\r
+ {\r
+ mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score += mGame.State.KillMonsterScore;\r
+ Console.WriteLine(mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score);\r
+ //Remove dead monsters\r
+ mGame.State.Entities.Remove(hitEntity);\r
+ }\r