private static void BuildIntGridLayer(LDtkDataLayer layer, LDtkIntGridValueAssetCollection intGridValueAssets, Grid tilemapPrefab) { if (IsAssetNull(intGridValueAssets)) { return; } if (IsAssetNull(tilemapPrefab)) { return; } DecrementLayer(); Tilemap tilemap = LDtkUnityTilesetBuilder.BuildUnityTileset(layer.__identifier, tilemapPrefab, _layerSortingOrder); if (tilemap == null) { return; } LDtkBuilderIntGridValue.BuildIntGridValues(layer, intGridValueAssets, tilemap); LDtkUnityTilesetBuilder.SetTilesetOpacity(tilemap, layer.__opacity); }
public static void BuildIntGridValues(LDtkDataLayer layer, LDtkIntGridValueAssetCollection valueAssets, Tilemap tilemap) { foreach (LDtkDataIntGridValue intTile in layer.intGrid) { BuildIntGridValue(layer, intTile, valueAssets, tilemap); } TryTurnOffRenderer(valueAssets, tilemap); }
private static void TryTurnOffRenderer(LDtkIntGridValueAssetCollection valueAssets, Tilemap tilemap) { if (valueAssets.CollisionTilesVisible) { return; } TilemapRenderer renderer = tilemap.GetComponent <TilemapRenderer>(); if (renderer != null) { renderer.enabled = false; } }
private static void BuildIntGridLayer(LDtkDataLayer layer, LDtkIntGridValueAssetCollection intGridValueAssets, Grid tilemapPrefab) { if (IsAssetNull(intGridValueAssets)) { return; } string objName = layer.__identifier; Tilemap tilemap = BuildUnityTileset(objName, tilemapPrefab); if (tilemap == null) { return; } LDtkBuilderIntGridValue.BuildIntGridValues(layer, intGridValueAssets, tilemap); }
private static void BuildIntGridValue(LDtkDataLayer layer, LDtkDataIntGridValue intValueData, LDtkIntGridValueAssetCollection valueAssets, Tilemap tilemap) { LDtkDefinitionIntGridValue definition = layer.Definition.intGridValues[intValueData.v]; LDtkIntGridValueAsset asset = valueAssets.GetAssetByIdentifier(definition.identifier); if (asset == null) { return; } Vector2Int cellCoord = LDtkToolOriginCoordConverter.GetTopLeftOriginCellCoordFromCoordID(intValueData.coordId, layer.__cWid); Vector2 coord = LDtkToolOriginCoordConverter.ConvertCell(cellCoord, layer.__cHei); Tile tileAsset = LDtkProviderTile.GetTile(asset, definition.color.ToColor()); Vector3Int c = new Vector3Int((int)coord.x, (int)coord.y, 0); tilemap.SetTile(c, tileAsset); }