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 のノーオペレーション命令の上書き。