* @return a material based on the input, possibly with added turn arrows
*/
private static Material addTurnArrows(Material material,
TagGroup laneTags) {
Material arrowMaterial = null;
/* find the right material */
String turn = laneTags.getValue("turn");
if (turn != null) {
if (turn.contains("through") && turn.contains("right")) {
arrowMaterial = ROAD_MARKING_ARROW_THROUGH_RIGHT;
} else if (turn.contains("through") && turn.contains("left")) {
arrowMaterial = ROAD_MARKING_ARROW_THROUGH_RIGHT;
} else if (turn.contains("through")) {
arrowMaterial = ROAD_MARKING_ARROW_THROUGH;
} else if (turn.contains("right") && turn.contains("left")) {
arrowMaterial = ROAD_MARKING_ARROW_RIGHT_LEFT;
} else if (turn.contains("right")) {
arrowMaterial = ROAD_MARKING_ARROW_RIGHT;
} else if (turn.contains("left")) {
arrowMaterial = ROAD_MARKING_ARROW_RIGHT;
}
}
/* apply the results */
if (arrowMaterial != null) {
material = material.withAddedLayers(arrowMaterial.getTextureDataList());
}
return material;
}