AutoAsparagus.ASPFuelLine.fireRayAt C# (CSharp) Method

fireRayAt() private static method

private static fireRayAt ( Part p, Vector3 origin, Vector3 dest, Vector3 &collisionpoint ) : bool
p Part
origin Vector3
dest Vector3
collisionpoint Vector3
return bool
        private static bool fireRayAt(Part p, Vector3 origin, Vector3 dest, out Vector3 collisionpoint)
        {
            // returns true for obstructed, false for clear

            if (p == null) {
                ASPConsoleStuff.AAprint ("fireRayAt.p is null!");
                collisionpoint = origin; // must be set to something
                return true;
            }
            if (p.collider == null) {
                //ASPConsoleStuff.AAprint ("fireRayAt.p.collider is null!");
                //ASPConsoleStuff.printPart ("Part has no collider", p);
                collisionpoint = origin; // must be set to something
                return false;
            }
            /* Can't be null
            if (origin == null) {
                ASPConsoleStuff.AAprint ("fireRayAt.origin is null!");
            }
            if (dest == null) {
                ASPConsoleStuff.AAprint ("fireRayAt.dest is null!");
            }*/

            Ray r = new Ray ();
            /* Can't be null
            if (r == null) {
                ASPConsoleStuff.AAprint ("fireRayAt.r is null!");
            }*/

            r.origin = origin;
            r.direction = vector3direction (origin, dest);
            float distance = Vector3.Distance (origin, dest);

            RaycastHit hit = new RaycastHit ();
            /* Can't be null
            if (hit == null) {
                ASPConsoleStuff.AAprint ("fireRayAt.hit is null!");
            }*/
            if (p.collider.Raycast (r, out hit, distance)) {
                /* Can't be null
                if (hit == null) {
                    ASPConsoleStuff.AAprint ("fireRayAt.hit is null!");
                }
                */
                collisionpoint = hit.point;
                return true;
            } else {
                collisionpoint = origin;
                //ASPConsoleStuff.printPart ("!! ray failed aiming at", p);
                return false;
            }
        }