private void DisplayPusherInfluenceNorth(bool shouldHighlight, bool immediateNeighbor) { if (!northWall && northNeighbor && northNeighbor.GetComponent <GridElement>().piece&& (northNeighbor.GetComponent <GridElement>().piece.GetComponent <GamePiece>() is Unit || northNeighbor.GetComponent <GridElement>().piece.GetComponent <GamePiece>() is Trap)) { GridElement north = northNeighbor.GetComponent <GridElement>(); north.isHighlighted = shouldHighlight; if (shouldHighlight) { north.ChangeColor(GridMenu.pushColor); if (!immediateNeighbor) { north.ChangeColor(GridMenu.pushColor + new Color(0.4F, 0.4F, 0.4F)); } } else { north.ChangeColor(Menu.defaultColor); } north.DisplayPusherInfluenceNorth(shouldHighlight, false); } }