using Mapbox.Unity.Map; namespace Mapbox.Unity.SourceLayers { public class SubLayerModeling : ISubLayerModeling { VectorSubLayerProperties _subLayerProperties; public SubLayerModeling(VectorSubLayerProperties subLayerProperties) { _subLayerProperties = subLayerProperties; } public ISubLayerCoreOptions CoreOptions { get { return _subLayerProperties.coreOptions; } } public ISubLayerExtrusionOptions ExtrusionOptions { get { return _subLayerProperties.extrusionOptions; } } public ISubLayerColliderOptions ColliderOptions { get { return _subLayerProperties.colliderOptions; } } public ISubLayerLineGeometryOptions LineOptions { get { return _subLayerProperties.lineGeometryOptions; } } /// /// Enable terrain snapping for features which sets vertices to terrain /// elevation before extrusion. /// /// Enabled terrain snapping public virtual void EnableSnapingTerrain(bool isEnabled) { if (_subLayerProperties.coreOptions.snapToTerrain != isEnabled) { _subLayerProperties.coreOptions.snapToTerrain = isEnabled; _subLayerProperties.coreOptions.HasChanged = true; } } /// /// Enable combining individual features meshes into one to minimize gameobject /// count and draw calls. /// /// public virtual void EnableCombiningMeshes(bool isEnabled) { if (_subLayerProperties.coreOptions.combineMeshes != isEnabled) { _subLayerProperties.coreOptions.combineMeshes = isEnabled; _subLayerProperties.coreOptions.HasChanged = true; } } } }