本文へスキップ

class_GroundBuilderAsync


title: class GroundBuilderAsync toc_max_heading_level: 4


class GroundBuilderAsync

(Niantic.Lightship.Maps.Builders.Performance.Ground.GroundBuilderAsync)

概要

マップタイル全体を覆う地表の基本メッシュを生成するビルダー 地上のメッシュはシンプルでありふれているため、このビルダーを使用するIMapTileはいずれも、同じメッシュを共有します。

    class GroundBuilderAsync: Niantic.Lightship.Maps.Builders.Performance.MeshBuilderAsync {
public:
// メソッド

virtual override void Initialize(ILightshipMapView lightshipMapView);

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

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

継承メンバー

public:
// フィールド

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

// プロパティ

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

// メソッド

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;
protected:
// フィールド

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

// プロパティ

Vector3 ZOffset;

// メソッド

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
);

詳細なドキュメント

マップタイル全体を覆う地表の基本メッシュを生成するビルダー 地上のメッシュはシンプルでありふれているため、このビルダーを使用するIMapTileはいずれも、同じメッシュを共有します。

メソッド

Initialize

virtual override void Initialize(ILightshipMapView lightshipMapView)

ビルダー は、初期化を行う必要がある場合、または後で親インスタンス ILightshipMapView にアクセスする必要がある場合、オプションでこのメソッドを実装する場合があります。

さらに、このビルダーを使用するすべてのIMapTilesで使用する共有メッシュを作成します。

PreBuild

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

No-op(ノーオペレーション命令)

    パラメーター

    tiles - ビルドするタイル

    tilesToBuild - タイル に割り当てられる

    次の値が返ります。

    常にtrue

Build

virtual override void Build(IReadOnlyList<MeshTile> tiles)

地表レイヤーのメッシュ(常にタイルを覆う単位正方形)を生成します。

Release

virtual override void Release(MeshFilter meshFilter)

Release のノーオペレーション命令の上書き。