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