public GameObjectRayHit RaycastSpriteObject(Ray ray, GameObject gameObject) { float t; OBB worldOBB = ObjectBounds.CalcSpriteWorldOBB(gameObject); if (!worldOBB.IsValid) { return(null); } if (BoxMath.Raycast(ray, out t, worldOBB.Center, worldOBB.Size, worldOBB.Rotation)) { return(new GameObjectRayHit(ray, gameObject, worldOBB.GetPointFaceNormal(ray.GetPoint(t)), t)); } return(null); }