/// <summary> /// Set a tile color in the grid position /// </summary> /// <param name="gridX"></param> /// <param name="gridY"></param> /// <param name="c0">Bottom left corner</param> /// <param name="c1">Bottom right corner</param> /// <param name="c2">Top left corner</param> /// <param name="c3">Top right corner</param> public void SetTileColor(int gridX, int gridY, Color32 c0, Color32 c1, Color32 c2, Color32 c3) { TilemapChunk chunk = GetOrCreateTileChunk(gridX, gridY, true); int chunkGridX = (gridX < 0 ? -gridX - 1 : gridX) % k_chunkSize; int chunkGridY = (gridY < 0 ? -gridY - 1 : gridY) % k_chunkSize; if (gridX < 0) { chunkGridX = k_chunkSize - 1 - chunkGridX; } if (gridY < 0) { chunkGridY = k_chunkSize - 1 - chunkGridY; } if (m_allowPaintingOutOfBounds || (gridX >= m_minGridX && gridX <= m_maxGridX && gridY >= m_minGridY && gridY <= m_maxGridY)) { chunk.SetTileColor(chunkGridX, chunkGridY, c0, c1, c2, c3); } }
/// <summary> /// Set a tile color in the grid position /// </summary> /// <param name="gridX"></param> /// <param name="gridY"></param> /// <param name="c0">Bottom left corner</param> /// <param name="c1">Bottom right corner</param> /// <param name="c2">Top left corner</param> /// <param name="c3">Top right corner</param> public void SetTileColor(int gridX, int gridY, TileColor32 tileColor, eBlendMode blendMode = eBlendMode.AlphaBlending) { TilemapChunk chunk = GetOrCreateTileChunk(gridX, gridY, true); int chunkGridX = (gridX < 0 ? -gridX - 1 : gridX) % k_chunkSize; int chunkGridY = (gridY < 0 ? -gridY - 1 : gridY) % k_chunkSize; if (gridX < 0) { chunkGridX = k_chunkSize - 1 - chunkGridX; } if (gridY < 0) { chunkGridY = k_chunkSize - 1 - chunkGridY; } if (m_allowPaintingOutOfBounds || (gridX >= m_minGridX && gridX <= m_maxGridX && gridY >= m_minGridY && gridY <= m_maxGridY)) { chunk.SetTileColor(chunkGridX, chunkGridY, tileColor, blendMode); } }