Ejemplo n.º 1
0
    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;
    }
Ejemplo n.º 2
0
    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);
    }