Пример #1
0
        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));
 }