예제 #1
0
파일: Tower.cs 프로젝트: bsleon/LabRaTZ
        public void findEnemy(List<Enemy> enemies)
        {
            targetEnemy = null;

            foreach (Enemy enemy in enemies)
            {
                //if the tower and enemy are within fire radius, then set enemy as the target
                if (Vector2.Distance(getCenter, enemy.getCenter) <= fireRadius)
                {
                    targetEnemy = enemy;
                }
            }
        }
예제 #2
0
파일: Tower.cs 프로젝트: bsleon/LabRaTZ
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            projectileTimer += (float)gameTime.ElapsedGameTime.TotalSeconds;

            if (targetEnemy != null)
            {
                //turn towards enemy if within distance
                lookAtEnemy();

                //if not within distance, target is null, stop turning
                if (!withinRadius(targetEnemy.getCenter) || targetEnemy.enemyDead)
                {
                    targetEnemy = null;
                    projectileTimer = 0;
                }
            }
        }
예제 #3
0
파일: EnemyWave.cs 프로젝트: bsleon/LabRaTZ
        //add an enemy to the list
        private void AddEnemy()
        {
            enemy = new Enemy(spriteAnimation, enemyPathing.Pathing.Peek(), enemyHealth, enemyMoney, Enemy.getEnemySpeed);
            enemy.CopyPathing(enemyPathing.Pathing);
            enemies.Add(enemy);
            spawnTimer = 0;

            enemyCount++;
        }