Skip to main content

class StructureFeatureBuilderAsync

(Niantic.Lightship.Maps.Builders.Performance.Structures.StructureFeatureBuilderAsync)

Overview

A builder for StructureFeatures

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

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

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 StructureFeatures

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.