Skip to main content

class LinearFeatureBuilderAsync

(Niantic.Lightship.Maps.Builders.Performance.LinearFeatures.LinearFeatureBuilderAsync)

Overview

A builder for ILinearFeatures

	class LinearFeatureBuilderAsync: Niantic.Lightship.Maps.Builders.Performance.MeshBuilderAsync {
public:
// methods

virtual override void Build(IReadOnlyList<MeshTile> tiles);
virtual override void Initialize(ILightshipMapView lightshipMapView);
};

Inherited Members

public:
// fields

int MinLOD => _minLOD;
int MaxLOD => _maxLOD;

// properties

Guid Id;
int MinLOD;
int MaxLOD;
Guid Id;

// methods

virtual void Initialize(ILightshipMapView lightshipMapView);
MeshFilter CreateMeshComponents(IMapTileObject mapTileObject);
void Release(MeshFilter meshFilter);
MeshFilter CreateMeshComponents(IMapTileObject mapTileObject);
virtual void Release(MeshFilter meshFilter);

bool PreBuild(
IReadOnlyList<MeshTile> tiles,
out IReadOnlyList<MeshTile> tilesToBuild
);

void Build(IReadOnlyList<MeshTile> tiles);

virtual bool PreBuild(
IReadOnlyList<MeshTile> tiles,
out IReadOnlyList<MeshTile> tilesToBuild
);

virtual abstract void Build(IReadOnlyList<MeshTile> tiles) = 0;

```cs
protected:
// fields

string BuilderName => _builderName.NullIfEmptyOrWhitespace() ?? name;
LayerKind Layer => _mapLayer;
List<FeatureKind> Features => _features;
Material[] _materials;

// properties

Vector3 ZOffset;

// methods

static void SetMeshForFilter(Mesh mesh, MeshFilter meshFilter);

IReadOnlyList<MeshTile> GetValidTilesAndClearInvalidTiles(
IReadOnlyList<MeshTile> tiles,
int minLOD,
int maxLOD
);

IReadOnlyList<IReadOnlyList<T>> GetFeaturesByTile< T >(IReadOnlyList<MeshTile> mapTiles);
IReadOnlyList<T> GetFeaturesForTile< T >(MeshTile tile);

bool ApplyMeshInternal(
Mesh.MeshDataArray meshDataToApply,
CancellationToken token,
out Mesh outputMesh
);

Detailed Documentation

A builder for ILinearFeatures

Methods

Build

virtual override void Build(IReadOnlyList<MeshTile> tiles)

Called when one or more maptiles are added to the scene. This method generates meshes for a specific set of maptile features.

Initialize

virtual override void Initialize(ILightshipMapView lightshipMapView)

Builders may optionally implement this method if they need to perform any initialization or might need access to their parent ILightshipMapView instance later on.