public TerrainTile CreateAndSetTile(Vector3Int coord, TerrainTile tilePrefab, TerrainTile originalTile = null) { TerrainTile newTile = Instantiate(tilePrefab); newTile.coordinates = coord; if (debugCells) { if (originalTile == null) { GameObject newObj = Instantiate(locTextPrefab); Vector3 worldPoint = tilemap.CellToWorld(coord); newObj.transform.position = worldPoint; newObj.transform.SetParent(textHolder, true); TextMeshPro text = newObj.GetComponent <TextMeshPro>(); text.transform.localScale = tilemapScale * .5f; text.name = coord.ToString(); text.SetText(coord.ToString() + "\n" + HexTools.OffsetToCube(coord)); newTile.text = text; } else { newTile.text = originalTile.text; newTile.text.SetText(coord.ToString() + "\n" + HexTools.OffsetToCube(coord)); } } if (originalTile != null) { tilemap.SetTile(coord, null); } tilemap.SetTile(coord, newTile); return(newTile); }