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;
}
}
}
}