protected override FiringSolution?FindFiringSolution(GameObject target) { var projectile = ProjectilePrefab.GetComponent <FlakProjectile>(); var minimumRange = projectile.MinimumFuseRange; var targetPosition = target.transform.position; var delta = targetPosition - transform.position; var distance = delta.magnitude; var direction = delta / distance; if (distance < minimumRange) { return(null); } var targetSolution = _turretBase.FindSolution(direction); if (targetSolution == null) { return(null); //< even if we wanted to, we're not able to point our gun at this solution... } return(new FiringSolution { TargetPosition = targetPosition, FiringDirection = direction, InterceptionDistance = distance }); }
protected override FiringSolution?FindFiringSolution(GameObject target) { return(FiringSolution.FindSolution(gameObject, ProjectilePrefab.GetComponent <ProjectileComponent>(), target)); }