Пример #1
0
        protected override void InitGrid()
        {
            VectorPoint rectDimensions = Dimensions;

            switch (shape)
            {
            case Shape.Rectangle:
                base.Grid = FlatHexGrid <TileCell> .Rectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.Parallelogram:
                base.Grid = FlatHexGrid <TileCell> .Parallelogram(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.FatRectangle:
                base.Grid = FlatHexGrid <TileCell> .FatRectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.ThinRectangle:
                base.Grid = FlatHexGrid <TileCell> .ThinRectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.Hexagon:
                base.Grid = FlatHexGrid <TileCell> .Hexagon(Size);

                break;

            case Shape.LeftTriangle:
                base.Grid = FlatHexGrid <TileCell> .LeftTriangle(Size);

                break;

            case Shape.RightTriangle:
                base.Grid = FlatHexGrid <TileCell> .RightTriangle(Size);

                break;

            case Shape.Diamond:
                base.Grid = FlatHexGrid <TileCell> .Diamond(Size);

                break;

            case Shape.Single:
                base.Grid = FlatHexGrid <TileCell> .Single();

                break;

            case Shape.Custom:
                var shapeBuilder = GetComponent <CustomGridBuilder>();
                base.Grid = shapeBuilder.MakeGrid <TileCell, FlatHexPoint>();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Пример #2
0
        protected override void InitGrid()
        {
            VectorPoint rectDimensions = Dimensions;

            switch (shape)
            {
            case Shape.Rectangle:
                Grid = FlatHexGrid <MeshCell> .Rectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.Parallelogram:
                Grid = FlatHexGrid <MeshCell> .Parallelogram(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.FatRectangle:
                Grid = FlatHexGrid <MeshCell> .FatRectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.ThinRectangle:
                Grid = FlatHexGrid <MeshCell> .ThinRectangle(rectDimensions.X, rectDimensions.Y);

                break;

            case Shape.Hexagon:
                Grid = FlatHexGrid <MeshCell> .Hexagon(Size);

                break;

            case Shape.LeftTriangle:
                Grid = FlatHexGrid <MeshCell> .LeftTriangle(Size);

                break;

            case Shape.RightTriangle:
                Grid = FlatHexGrid <MeshCell> .RightTriangle(Size);

                break;

            case Shape.Diamond:
                Grid = FlatHexGrid <MeshCell> .Diamond(Size);

                break;

            case Shape.Single:
                Grid = FlatHexGrid <MeshCell> .Single();

                break;

            case Shape.Custom:
                Grid = GetCustomGrid();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }