public void Rotate() { if (type == circuits.TileType.start || type == circuits.TileType.end) { return; } Debug.Log("Rotate!"); currentDirection = GetNextDirection(currentDirection); circuits.Direction[] directions = new circuits.Direction[connections.Length]; int i = 0; foreach (circuits.Direction direction in connections) { directions[i] = GetNextDirection(direction); i++; } connections = directions; }
private circuits.Direction GetNextDirection(circuits.Direction curDirection) { if (curDirection == circuits.Direction.up) { return(circuits.Direction.right); } else if (curDirection == circuits.Direction.right) { return(circuits.Direction.down); } else if (curDirection == circuits.Direction.down) { return(circuits.Direction.left); } else if (curDirection == circuits.Direction.left) { return(circuits.Direction.up); } return(curDirection); }