void checkIfAreEnemiesNear() { float range = turretStats.GetStatValue(StatType.ATTACKRANGE); List <Transform> targets = targetsDetector.GetTargets(range, targetLayer); areTargetsInRange = targets.Count > 0; }
private void detectEnemies() { float range = turretStats.GetStatValue(StatType.ATTACKRANGE); List <Transform> targets = targetsDetector.GetTargets(range, enemyLayer); targets.RemoveAll((Transform enemy) => TurretUtilities.IsEnemyDying(enemy)); if (targets.Count > 0) { Transform nearestTarget = getNearestTarget(targets); target = nearestTarget; enemyCol = target.GetComponent <Collider>(); hasTarget = true; } }
List <Transform> getTargets() { float range = turretStats.GetStatValue(StatType.ATTACKRANGE); List <Transform> targets = targetsDetector.GetTargets(range, targetLayer); areTargetsInRange = targets.Count > 0; selectTargetsWithinTheCone(targets); return(targets); }
private void searchAnotherTarget() { transform.position = lastEnemyPos; float range = turretStats.GetStatValue(StatType.PROJECTILERANGE); List <Transform> targets = targetsDetector.GetTargets(range, enemyLayer); targets.RemoveAll((Transform enemy) => TurretUtilities.IsEnemyDying(enemy)); Transform target = getNearestTarget(targets); if (target != null) { this.target = target; enemyCol = target.GetComponent <Collider>(); lastEnemyPos = enemyCol.bounds.center; isTargetAlive = true; } else { disable(); } }
protected List <Transform> detectTargets(float range) { return(targetsDetector.GetTargets(range, targetLayer)); }