This could be very tricky to do.
Programming-wise, what I would do is to check for any "obstacle" insight with quad tree data structure and draw my fan polygon's points with respect to all these obstacles. This one single sentence requires a hair or two to fall off from your head while implementing.
But in C2, this could be tough unless you can find a plugin that can address the above.
Instead of a cone, what about a laser sight that quickly move back and forth like those retina scanner in movies instead? If done right, it could achieve similar effect like the cone with better performance. But this will still require trigonometry work to address the walls, etc in your event sheets. ...good luck.