Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public static void BuildIntGridValues(LDtkDataLayer layer, LDtkIntGridValueAssetCollection valueAssets, Tilemap tilemap)
        {
            foreach (LDtkDataIntGridValue intTile in layer.intGrid)
            {
                BuildIntGridValue(layer, intTile, valueAssets, tilemap);
            }

            TryTurnOffRenderer(valueAssets, tilemap);
        }
Ejemplo n.º 3
0
        private static void TryTurnOffRenderer(LDtkIntGridValueAssetCollection valueAssets, Tilemap tilemap)
        {
            if (valueAssets.CollisionTilesVisible)
            {
                return;
            }

            TilemapRenderer renderer = tilemap.GetComponent <TilemapRenderer>();

            if (renderer != null)
            {
                renderer.enabled = false;
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }