internal static Intersection Intersect(Location parStart, Location parEnd) { if (!ObjectManager.Instance.IsIngame) { new Intersection(); } var points = new _XYZXYZ(parStart.X, parStart.Y, parStart.Z, parEnd.X, parEnd.Y, parEnd.Z); points.Z1 += 2; points.Z2 += 2; var intersection = new Intersection(); var distance = parStart.GetDistanceTo(parEnd); return(MainThread.Instance.Invoke(() => { _Intersect(ref points, ref distance, ref intersection, 0x100111, funcs.Intersect); return intersection; })); }
private static extern byte _Intersect(ref _XYZXYZ points, ref float distance, ref Intersection intersection, uint flags, IntPtr Ptr);