private void Traverse(ChunkNode o, ISet <ChunkNode> search, ISet <ChunkNode> visited) { if (search.Contains(o) && visited.Contains(o) == false) { visited.Add(o); for (var i = 0; i < o.NeighboursArray.Length; i++) { var neighbour = o.NeighboursArray[i]; Traverse(neighbour, search, visited); } } }
private void Remove(ChunkNode chunkNode) { ChunkToJoint.Remove(chunkNode); Neighbours.Remove(chunkNode); NeighboursArray = Neighbours.ToArray(); }
private bool Contains(ChunkNode chunkNode) { return(Neighbours.Contains(chunkNode)); }