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; }
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; }
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); } }