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.
78 lines
1.9 KiB
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|