This is a utility library written in Rust that eases development modules that require working with the hexagon shape and related math.
This library is heavily based on Red Blob Games auto generated Rust implementation. Other implementations I looked at are messy and complicated. The auto generated code actually was quite simple, but as such it was not implemented with Rust idiom in mind.
This implementation is different in few ways:
- Both
Hex
andFractionalHex
implementPartialEq
.
This means you can doassert_eq!(hex1, hex2)
orhex1 == hex2
. Point
also havePartialEq
implementation forf64
usingfloat_eq
.- I implemented some of the function as traits of
Hex
andFractionalHex
and this means you can dohex1.add(hex2)
orhex1.round()
. - Other functionality is implemented as static functions
in their own objects
HexDirection
,HexOffset
,HexDoubled
. - Tests cover everything, and implemented in Rust way.
- The auto-generated code split into several file modules.
This packages is distributed under the zlib License.
Feel free to improve and contribute using github. I would really like to see a tile-map manager at some point.
This library was developed in mind to be used as part of a BEVY game engine plugin. However BEVY implementation is not in the scope of this repository.