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(); } }
private static PointyHexPoint StraightRectPointToSkewRectPoint(VectorPoint straight) { int y = 2 * straight.Y; int x = straight.X - straight.Y; return(new PointyHexPoint(x, y)); }
protected override void InitGrid() { VectorPoint rectDimensions = Dimensions; switch (shape) { case Shape.Rectangle: base.Grid = PointyHexGrid <TileCell> .Rectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Parallelogram: base.Grid = PointyHexGrid <TileCell> .Parallelogram(rectDimensions.X, rectDimensions.Y); break; case Shape.FatRectangle: base.Grid = PointyHexGrid <TileCell> .FatRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.ThinRectangle: base.Grid = PointyHexGrid <TileCell> .ThinRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Hexagon: base.Grid = PointyHexGrid <TileCell> .Hexagon(Size); break; case Shape.UpTriangle: base.Grid = PointyHexGrid <TileCell> .UpTriangle(Size); break; case Shape.DownTriangle: base.Grid = PointyHexGrid <TileCell> .DownTriangle(Size); break; case Shape.Diamond: base.Grid = PointyHexGrid <TileCell> .Diamond(Size); break; case Shape.Single: base.Grid = PointyHexGrid <TileCell> .Single(); break; case Shape.Custom: base.Grid = GetCustomGrid(); break; default: throw new ArgumentOutOfRangeException(); } }
public PolarPointyBrickMap(Vector2 center, float innerRadius, float outerRadius, VectorPoint sectorsAndBands) : base(Vector2.one) { Center = center; InnerRadius = innerRadius; OuterRadius = outerRadius; SectorsAndBands = sectorsAndBands; sectorAngleRad = (2f * Mathf.PI) / SectorsAndBands.X; SectorAngle = 360f / SectorsAndBands.X; }
protected override void InitGrid() { VectorPoint rectDimensions = Dimensions; switch (shape) { case Shape.Rectangle: base.Grid = RectGrid <MeshCell> .Rectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Parallelogram: base.Grid = RectGrid <MeshCell> .Parallelogram(rectDimensions.X, rectDimensions.Y); break; case Shape.CheckerBoard: base.Grid = RectGrid <MeshCell> .CheckerBoard(rectDimensions.X, rectDimensions.Y); break; case Shape.Circle: base.Grid = RectGrid <MeshCell> .BeginShape().Circle(size).EndShape(); break; case Shape.Custom: base.Grid = GetCustomGrid(); break; default: throw new ArgumentOutOfRangeException(); } switch (neighborSetup) { case RectNeighborType.Main: ((RectGrid <MeshCell>)base.Grid).SetNeighborsMain(); break; case RectNeighborType.Diagonals: ((RectGrid <MeshCell>)base.Grid).SetNeighborsDiagonals(); break; case RectNeighborType.MainAndDiagonals: ((RectGrid <MeshCell>)base.Grid).SetNeighborsMainAndDiagonals(); break; default: throw new ArgumentOutOfRangeException(); } }
protected override void InitGrid() { VectorPoint rectDimensions = Dimensions; switch (shape) { case Shape.Rectangle: base.Grid = FlatTriGrid <TileCell> .Rectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Parallelogram: base.Grid = FlatTriGrid <TileCell> .ParallelogramXY(rectDimensions.X, rectDimensions.Y); break; case Shape.UpTriangle: base.Grid = FlatTriGrid <TileCell> .UpTriangle(size); break; case Shape.DownTriangle: base.Grid = FlatTriGrid <TileCell> .DownTriangle(size); break; case Shape.Hexagon: base.Grid = FlatTriGrid <TileCell> .Hexagon(size); break; case Shape.Star: base.Grid = FlatTriGrid <TileCell> .Star(size); break; case Shape.Single: base.Grid = FlatTriGrid <TileCell> .Single(); break; case Shape.SingleGroup: base.Grid = FlatTriGrid <TileCell> .SingleGroup(); break; default: throw new ArgumentOutOfRangeException(); } }
protected override void InitGrid() { VectorPoint rectDimensions = Dimensions; switch (shape) { case Shape.Rectangle: base.Grid = DiamondGrid <TileCell> .Rectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Parallelogram: base.Grid = DiamondGrid <TileCell> .Parallelogram(rectDimensions.X, rectDimensions.Y); break; case Shape.FatRectangle: base.Grid = DiamondGrid <TileCell> .FatRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.ThinRectangle: base.Grid = DiamondGrid <TileCell> .ThinRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Diamond: base.Grid = DiamondGrid <TileCell> .Diamond(Size); break; case Shape.Single: base.Grid = DiamondGrid <TileCell> .Single(); break; case Shape.Custom: var shapeBuilder = GetComponent <CustomGridBuilder>(); base.Grid = shapeBuilder.MakeGrid <TileCell, DiamondPoint>(); break; default: throw new ArgumentOutOfRangeException(); } switch (neighborSetup) { case RectNeighborType.Main: ((DiamondGrid <TileCell>)base.Grid).SetNeighborsMain(); break; case RectNeighborType.Diagonals: ((DiamondGrid <TileCell>)base.Grid).SetNeighborsDiagonals(); break; case RectNeighborType.MainAndDiagonals: ((DiamondGrid <TileCell>)base.Grid).SetNeighborsMainAndDiagonals(); break; default: throw new ArgumentOutOfRangeException(); } }
protected override void InitGrid() { VectorPoint rectDimensions = Dimensions; switch (shape) { case Shape.Rectangle: base.Grid = PointyTriGrid <TileCell> .Rectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.Parallelogram: base.Grid = PointyTriGrid <TileCell> .ParallelogramXY(rectDimensions.X, rectDimensions.Y); break; case Shape.ThinRectangle: base.Grid = PointyTriGrid <TileCell> .ThinRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.FatRectangle: base.Grid = PointyTriGrid <TileCell> .FatRectangle(rectDimensions.X, rectDimensions.Y); break; case Shape.LeftTriangle: base.Grid = PointyTriGrid <TileCell> .LeftTriangle(size); break; case Shape.RightTriangle: base.Grid = PointyTriGrid <TileCell> .RightTriangle(size); break; case Shape.Hexagon: base.Grid = PointyTriGrid <TileCell> .Hexagon(size); break; case Shape.Star: base.Grid = PointyTriGrid <TileCell> .Star(size); break; case Shape.Single: base.Grid = PointyTriGrid <TileCell> .Single(); break; case Shape.SingleGroup: base.Grid = PointyTriGrid <TileCell> .SingleGroup(); break; case Shape.Custom: base.Grid = GetCustomGrid(); break; default: throw new ArgumentOutOfRangeException(); } }
public InspectableVectorPoint(VectorPoint point) { x = point.X; y = point.Y; }
public static Vector2 HadamardDiv(this Vector2 thisVector, VectorPoint otherVector) { return(new Vector2(thisVector.x / otherVector.X, thisVector.y / otherVector.Y)); }
public static Vector2 HadamardMul(this Vector2 thisVector, VectorPoint otherVector) { return(new Vector2(thisVector.x * otherVector.X, thisVector.y * otherVector.Y)); }
/// <summary> /// Constructs a new DiamondPoint with the same coordinates as the given VectorPoint. /// </summary> private DiamondPoint(VectorPoint vector) { x = vector.X; y = vector.Y; }
/// <summary> /// Constructs a new FlatHexPoint with the same coordinates as the given VectorPoint. /// </summary> private FlatHexPoint(VectorPoint vector) { x = vector.X; y = vector.Y; }
/// <summary> /// Constructs a new PointyHexPoint with the same coordinates as the given VectorPoint. /// </summary> private PointyHexPoint(VectorPoint vector) { x = vector.X; y = vector.Y; }
/// <summary> /// Constructs a new RectPoint with the same coordinates as the given VectorPoint. /// </summary> private RectPoint(VectorPoint vector) { x = vector.X; y = vector.Y; }