Пример #1
0
        /// <summary>
        /// Obtain hex cell that at position
        /// </summary>
        /// <param name="position">Hex cell position</param>
        /// <returns>the hex cell at specified position</returns>
        public HexCell GetCell(Vector3 position)
        {
            position = transform.InverseTransformPoint(position);
            HexCoordinates coordinates = HexCoordinates.FromPosition(position);
            int            index       = coordinates.X + coordinates.Z * cellCountX + coordinates.Z / 2;

            return(cells[index]);
        }
Пример #2
0
        void TouchCell(Vector3 position)
        {
            position = _grid.transform.InverseTransformPoint(position);
            HexCoordinates coordinates = HexCoordinates.FromPosition(position);
            int            index       = coordinates.X + coordinates.Z * _grid.Width + coordinates.Z / 2;
            HexCell        cell        = _grid.Cells[index];

            cell.Color = _grid.TouchedColor;
            _grid.Mesh.Triangulate(_grid.Cells);
        }
Пример #3
0
        public void ColorCell(Vector3 position, Color color)
        {
            position = transform.InverseTransformPoint(position);
            HexCoordinates coordinates = HexCoordinates.FromPosition(position);
            int            index       = coordinates.X + coordinates.Z * width + coordinates.Z / 2;
            HexCell        cell        = cells[index];

            cell.color = color;
            hexMesh.Triangulate(cells);
        }