Exemplo n.º 1
0
        private void UpdateCharacter()
        {
            if (Character.Health <= 0)
            {
                State = GameState.ShowingDeathMessage;
                Creatures.Clear();
                Enemies.Clear();

                return;
            }

            for (int i = 0; i < Character.Bullets.Count; i++)
            {
                var bullet = Character.Bullets[i];
                if (bullet.X >= RenderWidth)
                {
                    Character.Bullets.Remove(bullet);
                }
                else
                {
                    bullet.PreciseX += bullet.Speed * FrameTime.TotalSeconds;
                }

                for (int j = 0; j < Enemies.Count; j++)
                {
                    var enemy = Enemies[j];
                    if (enemy.IsEntityInBounds(bullet.X, bullet.Y))
                    {
                        enemy.Health -= bullet.Damage;
                        Character.Bullets.Remove(bullet);
                        Creatures.Remove(bullet);

                        if (enemy.Health <= 0)
                        {
                            KillEnemy((Enemy)enemy);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void UpdateEnemyBullets()
        {
            for (int bulletIndex = 0; bulletIndex < EnemyBullets.Count; bulletIndex++)
            {
                var enemyBullet = EnemyBullets[bulletIndex];

                if (enemyBullet.X <= 0)
                {
                    Creatures.Remove(enemyBullet);
                    EnemyBullets.Remove(enemyBullet);
                    continue;
                }

                enemyBullet.PreciseX += enemyBullet.Speed * FrameTime.TotalSeconds;

                if (Character.IsEntityInBounds(enemyBullet.X, enemyBullet.Y))
                {
                    Character.Health -= enemyBullet.Damage;
                    EnemyBullets.Remove(enemyBullet);
                    Creatures.Remove(enemyBullet);
                }
            }
        }
Exemplo n.º 3
0
 private void KillEnemy(Enemy enemy)
 {
     Kills++;
     Creatures.Remove(enemy);
     Enemies.Remove(enemy);
 }