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/SubLayerCustomStyleAtlasWit...

98 lines
2.0 KiB

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