public void RunTurret() { if (_knower.CurrentTarget != null) { _turretTurner.TurnToTarget(_knower.CurrentTarget); } else { _turretTurner.ReturnToRest(); } }
public void RunTurret() { var allTargets = _targetDetector.DetectTargets(); var bestTarget = _targetPicker.FilterTargets(allTargets).OrderByDescending(t => t.Score).FirstOrDefault(); if (_knower != null) { _knower.CurrentTarget = bestTarget; } if (bestTarget != null) { //Debug.Log(name + " is aiming at " + bestTarget.TargetTransform); _turretTurner.TurnToTarget(bestTarget); _fireControl.ShootIfAimed(bestTarget); } else { _turretTurner.ReturnToRest(); _fireControl.Shoot(false); } }