示例#1
0
        public bool Raycast(Ray ray, PhysicsRaycastCallback callback, ref RigidBody rigidBody, ref object owner, ref Vector3 normal, ref float distance)
        {
            if (_shadowWorld == null)
            {
                return(false);
            }

            return(_shadowWorld.Raycast(ray, callback, ref rigidBody, ref owner, ref normal, ref distance));
        }
示例#2
0
        public bool Raycast(Ray ray, PhysicsRaycastCallback callback, ref RigidBody rigidBody, ref object owner, ref Vector3 normal, ref float distance)
        {
            _originalRaycastRay      = ray;
            _originalRaycastCallback = callback;

            JVector jnormal;

            if (_physicsWorld.CollisionSystem.Raycast(
                    ray.Position.ToJitterVector(),
                    ray.Direction.ToJitterVector(),
                    callback == null ? null : (RaycastCallback)RaycastCallback,
                    out rigidBody,
                    out jnormal,
                    out distance))
            {
                owner = rigidBody.WeakTagOrNull;
                return(true);
            }

            return(false);
        }