コード例 #1
0
    public RaycastHit2D GetResult(out bool hasTarget)
    {
        RaycastHit2D[] rays = Physics2D.RaycastAll(laserFirePoint.position, MathQ.QuaternionToDirection(transform.rotation), MaxDistance, layerTarget);
        lastMaxDistance = MaxDistance;
        hasTarget       = false;
        RaycastHit2D rayss = new RaycastHit2D();

        if (rays == null || rays.Length == 0)
        {
        }
        else
        {
            foreach (RaycastHit2D ray in rays)
            {
                if (ray.collider.GetComponent <ITakeHit>() != null)
                {
                    lastMaxDistance = Vector2.Distance(ray.point, laserFirePoint.position);
                    hasTarget       = true;
                    rayss           = ray;
                    break;
                }
            }
        }
        if (!showed)
        {
            ShowVFXHit();
            showed = true;
        }
        UpdateVFXHit();
        return(rayss);
    }