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.