Example #1
0
        public static Tile GetTile(LDtkIntGridValueAsset asset, Color color)
        {
            string name = asset.name;

            if (_cachedTiles.ContainsKey(name))
            {
                return(_cachedTiles[name]);
            }

            Tile newTile = MakeTile(asset.ReferencedAsset, color);

            _cachedTiles.Add(name, newTile);
            return(newTile);
        }
Example #2
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);
        }