Example #1
0
        Vector3 ProjectRunwayPointToApron(Vector3 input)
        {
            Vector2 inPos  = new Vector2(input.x, input.z);
            Vector3 runDir = runway.transform.forward;
            Vector2 inDir  = new Vector2(-runDir.z, runDir.x);

            Vector2 apronPos = new Vector2(transform.position.x, transform.position.z);
            Vector2 apronDir = new Vector2(transform.forward.x, transform.forward.z);

            Vector2 intersection = Vector2.zero;

            Vector2Utils.RayRayIntersection(inPos, inDir, apronPos, apronDir, ref intersection);

            return(new Vector3(intersection.x, 0, intersection.y));
        }
Example #2
0
        public Vector3 GetGateApronPoint(Gate gate)
        {
            Vector2 point;

            Vector2 p1 = new Vector2(gate.transform.position.x, gate.transform.position.z);
            Vector2 p2 = new Vector2(
                (gate.transform.position + gate.transform.forward * 10).x,
                (gate.transform.position + gate.transform.forward * 10).z);

            Vector2 p3 = new Vector2(transform.position.x, transform.position.z);
            Vector2 p4 = new Vector2(
                (transform.position + transform.forward * 10).x,
                (transform.position + transform.forward * 10).z);

            Vector2Utils.LineIntersection(p1, p2, p3, p4, out point);

            Vector3 p = new Vector3(point.x, 0, point.y);

            return(p);
        }