public static bool Raycast(ArkCrossEngine.Ray ray, out ArkCrossEngine.RaycastHit hit) { CrossEngineImpl.RaycastHit uhit = new CrossEngineImpl.RaycastHit(); bool castResult = CrossEngineImpl.Physics.Raycast(Helper.RayToUnity(ray), out uhit); hit = Helper.RayCastHitFromUnity(uhit); return(castResult); }
public static ArkCrossEngine.RaycastHit[] RaycastAll(ArkCrossEngine.Ray ray, float distance, int layerMask) { CrossEngineImpl.RaycastHit[] hits = CrossEngineImpl.Physics.RaycastAll(Helper.RayToUnity(ray), distance, layerMask); ArkCrossEngine.RaycastHit[] retHits = new ArkCrossEngine.RaycastHit[hits.Length]; for (int i = 0; i < hits.Length; ++i) { retHits[i] = Helper.RayCastHitFromUnity(hits[i]); } return(retHits); }
public static CrossEngineImpl.Ray RayToUnity(ArkCrossEngine.Ray ray) { return(new CrossEngineImpl.Ray(Vec3ToUnity(ray.origin), Vec3ToUnity(ray.direction))); }