private void TurnOffWalls(ScriptableNode bridgeTo) { Vector2Int dir = bridgeTo.ExploredFrom; bridgeTo.TurnOffWalls(-dir); currentNode.TurnOffWalls(dir); }
private void TurnOffSideWalls(ScriptableNode bridgeTo) { string bridgeSide = bridgeTo.Parent; bridgeTo.TurnOffWalls(WallDeactivator.DeactivateNeigbourWall(bridgeSide, currentNodeParent)); currentNode.TurnOffWalls(WallDeactivator.DeactivateOwnWall(bridgeSide, currentNodeParent)); }
// refactor this private void RemoveDuplicates() { foreach (var node in visitedNodes) { string nodeParent = node.Parent; currentNode = node; foreach (var direction in directions) { if (!node.GetWall(direction)) { continue; } string parent = nodeParent; Vector2Int cords = node.Coordinates + direction; //CheckParentAndCords(ref parent, ref cords); ScriptableNode connect = TryGetNode(cords, parent); if (connect == null) { continue; } /* string connectParent = connect.Parent; * * if (connectParent != nodeParent) * { * connect.TurnOffWalls(WallDeactivator.DeactivateNeigbourWall(connectParent, nodeParent)); * } * else * { * connect.TurnOffWalls(-direction); * }*/ connect.TurnOffWalls(-direction); } } }