public void Init(TilePropagator propagator) { if (PathSpec is PathSpec pathSpec) { // Convert PathSpec to EdgedPathSpec // As we have a bug with PathSpec ignoring paths of length 2. // (probably should use bridge edges instead of articulation points) ISet <Direction> allDirections = new HashSet <Direction>(Enumerable.Range(0, propagator.Topology.DirectionsCount).Cast <Direction>()); var edgedPathSpec = new EdgedPathSpec { Exits = pathSpec.Tiles.ToDictionary(x => x, _ => allDirections), RelevantCells = pathSpec.RelevantCells, RelevantTiles = pathSpec.RelevantTiles, TileRotation = pathSpec.TileRotation, }; pathView = edgedPathSpec.MakeView(propagator); } else { pathView = PathSpec.MakeView(propagator); } pathView.Init(); }
public void Init(TilePropagator propagator) { pathView = PathSpec.MakeView(propagator); pathView.Init(); }