id(0),
sensor_id(start.get_sensor_id()),
turnout_id(start.get_turnout_id()),
+ conflict(false),
sensor(0),
train(0)
{
determine_id();
- if(sensor_id)
+ const set<Block *> &blocks = layout.get_all<Block>();
+ for(set<Block *>::const_iterator i=blocks.begin(); (!conflict && i!=blocks.end()); ++i)
+ conflict = (id==(*i)->get_id());
+
+ if(!conflict && sensor_id)
sensor = new TrackCircuit(layout, *this);
layout.add(*this);