Example #1
0
    internal void Place(Level level, GameVertex.Edge flagDelta)
    {
        var lvlInstance = level.levelInstance;

        // Adding in line?
        if (lvlInstance.grid[pos.y, pos.x].lines == GameVertex.Edge.none)
        {
            gameObject.SetActive(true);
        }

        // TODO: Fix this for the new format
        // lvlInstance.grid[y, x].flags |= flagDelta;
    }
Example #2
0
    internal void Remove(Level level, GameVertex.Edge flagDelta)
    {
        var lvlInstance = level.levelInstance;
        var rend        = GetComponent <LineRenderer>();

        // complete removal?
        if (flagDelta == lvlInstance.grid[pos.y, pos.x].lines)
        {
            gameObject.SetActive(false);
        }

        // TODO: Fix this for the new format
        // lvlInstance.grid[y, x].flags &= ~flagDelta;
    }
Example #3
0
    public static GameVertex.Edge.Type SnapToType(GameVertex.Direction snappedDir, ref GameVertex.Edge vert)
    {
        switch (snappedDir)
        {
        case GameVertex.Direction.W: return(vert.edgeW);

        case GameVertex.Direction.SW: return(vert.edgeSW);

        case GameVertex.Direction.S: return(vert.edgeS);

        case GameVertex.Direction.SE: return(vert.edgeSE);

        case GameVertex.Direction.E: return(vert.edgeE);

        case GameVertex.Direction.NE: return(vert.edgeNE);

        case GameVertex.Direction.N: return(vert.edgeN);

        case GameVertex.Direction.NW: return(vert.edgeNW);

        default: Debug.LogWarning("Warning! Unexpected snappedDir given to SnapToType"); return(GameVertex.Edge.Type.None);
        }
    }