feat: throw a readable error if traffic lights have no set position

Motivation

Scenarios with a traffic light defined and no corresponding TeleportAction would throw a map:at exception when getting the bulb positions.

Summary

In fact, that position had never been set because SetPosition called is triggered by the TP action In that case, there is no position defined for the traffic light, and by extension for its bulbs.

I added a flag in the Traffic Light entity to keep track of its position being set. Another way to do this would be to perform checks when validating the scenario. This would result in the simulation stopping faster, but at the cost of more expensive checks running in the case of a valid scenario

Merge request reports

Loading