public RoadConnection( IRoadLine roadLine, RoadSide roadSide ) { this._shapeChanged = new Subject<Unit>(); var wrapper = new RoadLineWrapper( roadLine, roadSide != RoadSide.Begin ); // this._connectedRoads = new List<RoadLineWrapper> { wrapper }; this._connectedRoads = new List<RoadLineWrapper>(); this._shape = this.GenerateShape(); }
public void Disconnect( IRoadLine roadLine ) { Assert.That( this._connectedRoads, Contains.Item(roadLine)).Throw<ArgumentException>(); }
public void Connect( IRoadLine roadLine, RoadSide roadSide ) { Assert.That( this._connectedRoads, Is.Not.Contains( roadLine ) ).Throw<ArgumentException>(); if ( this._connectedRoads.Any( t => t.Orginal == roadLine ) ) { return; } this._connectedRoads.Add( new RoadLineWrapper( roadLine, roadSide != RoadSide.Begin )); this._shape = this.GenerateShape(); }