|
|
|
|
namespace Mapbox.Unity.Map
|
|
|
|
|
{
|
|
|
|
|
using Mapbox.Unity.MeshGeneration.Factories;
|
|
|
|
|
using Mapbox.Unity.MeshGeneration.Interfaces;
|
|
|
|
|
using Mapbox.Unity.MeshGeneration.Modifiers;
|
|
|
|
|
|
|
|
|
|
public class LayerUpdateArgs : System.EventArgs
|
|
|
|
|
{
|
|
|
|
|
public AbstractTileFactory factory;
|
|
|
|
|
public MapboxDataProperty property;
|
|
|
|
|
public bool effectsVectorLayer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class VectorLayerUpdateArgs : LayerUpdateArgs
|
|
|
|
|
{
|
|
|
|
|
public LayerVisualizerBase visualizer;
|
|
|
|
|
public ModifierBase modifier;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class AbstractLayer
|
|
|
|
|
{
|
|
|
|
|
public event System.EventHandler UpdateLayer;
|
|
|
|
|
protected virtual void NotifyUpdateLayer(LayerUpdateArgs layerUpdateArgs)
|
|
|
|
|
{
|
|
|
|
|
System.EventHandler handler = UpdateLayer;
|
|
|
|
|
if (handler != null)
|
|
|
|
|
{
|
|
|
|
|
handler(this, layerUpdateArgs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
protected virtual void NotifyUpdateLayer(AbstractTileFactory factory, MapboxDataProperty prop, bool effectsVectorLayer = false)
|
|
|
|
|
{
|
|
|
|
|
System.EventHandler handler = UpdateLayer;
|
|
|
|
|
if (handler != null)
|
|
|
|
|
{
|
|
|
|
|
LayerUpdateArgs layerUpdateArgs =
|
|
|
|
|
(factory is VectorTileFactory) ?
|
|
|
|
|
new VectorLayerUpdateArgs
|
|
|
|
|
{
|
|
|
|
|
factory = factory,
|
|
|
|
|
effectsVectorLayer = effectsVectorLayer,
|
|
|
|
|
property = prop
|
|
|
|
|
}
|
|
|
|
|
:
|
|
|
|
|
new LayerUpdateArgs
|
|
|
|
|
{
|
|
|
|
|
factory = factory,
|
|
|
|
|
effectsVectorLayer = effectsVectorLayer,
|
|
|
|
|
property = prop
|
|
|
|
|
};
|
|
|
|
|
handler(this, layerUpdateArgs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|