You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
mapbox-sdk/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs

78 lines
1.9 KiB

namespace Mapbox.Unity.Map
{
using UnityEngine;
using Mapbox.Unity.MeshGeneration.Data;
public class SubLayerCustomStyleAtlas : ISubLayerCustomStyleAtlas
{
private GeometryMaterialOptions _materialOptions;
public SubLayerCustomStyleAtlas(GeometryMaterialOptions materialOptions)
{
_materialOptions = materialOptions;
}
public Material TopMaterial
{
get
{
return _materialOptions.customStyleOptions.materials[0].Materials[0];
}
set
{
if (_materialOptions.customStyleOptions.materials[0].Materials[0] != value)
{
_materialOptions.customStyleOptions.materials[0].Materials[0] = value;
_materialOptions.HasChanged = true;
}
}
}
public Material SideMaterial
{
get
{
return _materialOptions.customStyleOptions.materials[1].Materials[0];
}
set
{
if (_materialOptions.customStyleOptions.materials[1].Materials[0] != value)
{
_materialOptions.customStyleOptions.materials[1].Materials[0] = value;
_materialOptions.HasChanged = true;
}
}
}
public AtlasInfo UvAtlas
{
get
{
return _materialOptions.customStyleOptions.atlasInfo;
}
set
{
if (_materialOptions.customStyleOptions.atlasInfo != value)
{
_materialOptions.customStyleOptions.atlasInfo = value;
_materialOptions.HasChanged = true;
}
}
}
public void SetAsStyle(Material topMaterial, Material sideMaterial, AtlasInfo uvAtlas)
{
_materialOptions.customStyleOptions.texturingType = UvMapType.Atlas;
_materialOptions.customStyleOptions.materials[0].Materials[0] = topMaterial;
_materialOptions.customStyleOptions.materials[1].Materials[0] = sideMaterial;
_materialOptions.customStyleOptions.atlasInfo = uvAtlas;
_materialOptions.HasChanged = true;
}
public void SetAsStyle()
{
_materialOptions.customStyleOptions.SetDefaultAssets();
_materialOptions.HasChanged = true;
}
}
}