Esempio n. 1
0
        /// <summary>
        /// Gets the tile colors for the tile at grid position
        /// </summary>
        /// <param name="gridX"></param>
        /// <param name="gridY"></param>
        /// <returns></returns>
        public Color32[] GetTileColor(int gridX, int gridY)
        {
            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))
            {
                return(chunk.GetTileColor(chunkGridX, chunkGridY));
            }
            return(null);
        }