Ejemplo n.º 1
0
 public HexLibrary(HexType hexType, OffsetCoordinatesType offsetCoordinatesType, float hexSize)
 {
     _hex = hexType switch
     {
         HexType.FlatTopped => new HexFlatTopped(offsetCoordinatesType, hexSize),
         HexType.PointyTopped => new HexPointyTopped(offsetCoordinatesType, hexSize),
         _ => throw new ArgumentOutOfRangeException(nameof(hexType), hexType, $"HexType {hexType} is not supported.")
     };
 }
Ejemplo n.º 2
0
        protected Hex(HexType hexType, OffsetCoordinatesType offsetCoordinatesType, float hexSize)
        {
            OffsetCoordinatesType = offsetCoordinatesType;
            HexType = hexType;

            Apothem        = (float)(Constants.SquareRootOf3 * hexSize * Constants.OneHalf);
            SideToSide     = (float)(Constants.SquareRootOf3 * hexSize);
            Perimeter      = hexSize * 6;
            SideLength     = hexSize;
            CenterToVertex = hexSize;
            VertexToVertex = hexSize * 2;

            Size   = hexSize;
            Width  = GetWidth();
            Height = GetHeight();
        }
Ejemplo n.º 3
0
 public HexFlatTopped(OffsetCoordinatesType offsetCoordinatesType, float hexSize) : base(HexType.FlatTopped, offsetCoordinatesType, hexSize)
 {
 }
Ejemplo n.º 4
0
 public HexPointyTopped(OffsetCoordinatesType offsetCoordinatesType, float hexSize) : base(HexType.PointyTopped, offsetCoordinatesType, hexSize)
 {
 }