/// <summary> /// Change terrain layer settings. /// </summary> /// <param name="dataSource">The data source for the terrain height map.</param> /// <param name="elevationType">Mesh generation strategy for the tile/height.</param> /// <param name="enableCollider">Enable/Disable collider component for the tile game object.</param> /// <param name="factor">Multiplier for the height data.</param> /// <param name="layerId">Unity Layer for the tile game object.</param> public virtual void SetProperties(ElevationSourceType dataSource = ElevationSourceType.MapboxTerrain, ElevationLayerType elevationType = ElevationLayerType.TerrainWithElevation, bool enableCollider = false, float factor = 1, int layerId = 0) { if (_layerProperty.sourceType != dataSource || _layerProperty.elevationLayerType != elevationType) { _layerProperty.sourceType = dataSource; _layerProperty.elevationLayerType = elevationType; _layerProperty.HasChanged = true; } if (_layerProperty.colliderOptions.addCollider != enableCollider) { _layerProperty.colliderOptions.addCollider = enableCollider; _layerProperty.colliderOptions.HasChanged = true; } if (_layerProperty.requiredOptions.exaggerationFactor != factor) { _layerProperty.requiredOptions.exaggerationFactor = factor; _layerProperty.requiredOptions.HasChanged = true; } if (_layerProperty.unityLayerOptions.layerId != layerId) { _layerProperty.unityLayerOptions.layerId = layerId; _layerProperty.unityLayerOptions.HasChanged = true; } }
public void SetLayerSource(ElevationSourceType terrainSource) { if (terrainSource != ElevationSourceType.Custom && terrainSource != ElevationSourceType.None) { _layerProperty.sourceType = terrainSource; _layerProperty.sourceOptions.layerSource = MapboxDefaultElevation.GetParameters(terrainSource); } else { Debug.LogWarning("Invalid style - trying to set " + terrainSource.ToString() + " as default style!"); } }
public static Style GetParameters(ElevationSourceType defaultElevation) { Style defaultStyle = new Style(); switch (defaultElevation) { case ElevationSourceType.MapboxTerrain: defaultStyle = new Style { Id = "mapbox.terrain-rgb", Name = "Mapbox Terrain" }; break; case ElevationSourceType.Custom: throw new Exception("Invalid type : Custom"); default: break; } return(defaultStyle); }