public static IEnumerable <NeighbourHex> GetNeighbours(IGridHex hex)
 {
     return(hex.Coords.GetNeighbours(~Hexside.None)
            .Select((nn, seq) => new NeighbourHex(hex.Board[nn.Coords.User], nn.Direction, seq))
            .Where(n => n.Hex != null)
            .Select(nh => nh));
 }
 public NeighbourHex(IGridHex hex, Hexside direction, int seqNo) : this()
 {
     Hex        = hex;
     Direction  = direction;
     SequenceNo = seqNo;
 }
 public NeighbourHex(IGridHex hex, Hexside direction) : this(hex, direction, 0)
 {
 }