public virtual void GetClosestEnemy(List<Enemy> enemies) { target = null; float smallestRange = radius; foreach (Enemy enemy in enemies) { if (Vector2.Distance(center, enemy.Center) < smallestRange) { smallestRange = Vector2.Distance(center, enemy.Center); target = enemy; } } }
public virtual void GetClosestEnemy(List<Enemy> enemies) { target = null; float smallestRange = radius; //pakt de dichtsbijzijnde enemy en neemt het als target foreach (Enemy enemy in enemies) { if (Vector2.Distance(animation.Position, enemy.animation.Position) < 15) { smallestRange = Vector2.Distance(animation.Position, enemy.animation.Position); target = enemy; } } }
private void AddEnemy() { Enemy enemy = new Enemy(level,enemyTexture,level.Waypoints.Peek(), 50, 1,1); enemy.SetWayPoints(level.Waypoints); Enemy waterenemy = new Enemy(level,enemyTexture, level.WaterWaypoints.Peek(), 50, 1,3); waterenemy.SetWaterWayPoints(level.WaterWaypoints); enemies.Add(waterenemy); enemies.Add(enemy); spawnTimer = 0; enemiesSpawned++; }
void Start() { en=enemy.GetComponent<Enemy>(); }
public override void Update(GameTime gameTime) { base.Update(gameTime); bulletTimer += (float)gameTime.ElapsedGameTime.TotalSeconds; if (target != null) { Facetarget(); //als target uit range is of als target dood is if (!IsInRange(target.animation.Position)||target.IsDead) { target = null; bulletTimer = 0; } } }
public override void Update(GameTime gameTime) { base.Update(gameTime); bulletTimer += (float)gameTime.ElapsedGameTime.TotalSeconds; if (target != null) { Facetarget(); if (!IsInRange(target.Center)||target.IsDead) { target = null; bulletTimer = 0; } } }
/// <summary> /// Called when [enemy reached target]. /// </summary> /// <param name="enemy">The enemy.</param> private void OnEnemyReachedTarget( Enemy enemy ) { DisposeEnemy( enemy ); if( EventReachedTarget != null ) { EventReachedTarget(); } }
//=================================================== // EVENTS METHODS //=================================================== /// <summary> /// Called when [enemy died]. /// </summary> /// <param name="enemy">The enemy.</param> private void OnEnemyDied( Enemy enemy ) { DisposeEnemy( enemy ); if( EventDied != null ) { EventDied( enemyMoney ); } }
/// <summary> /// Disposes the enemy. /// </summary> /// <param name="enemy">The enemy.</param> private void DisposeEnemy( Enemy enemy ) { enemy.EventDied -= OnEnemyDied; enemy.EventReachedTarget -= OnEnemyReachedTarget; int index = EnemyList.IndexOf( enemy.gameObject ); if( index >= 0 ) { EnemyList.RemoveAt( index ); } enemy.gameObject.transform.position = transform.position; objectPool.ReleaseObject( enemy.gameObject ); }