hexagon_tiles

Crates.iohexagon_tiles
lib.rshexagon_tiles
version0.2.1
sourcesrc
created_at2021-04-12 18:37:33.054885
updated_at2024-03-09 07:35:43.101987
descriptionA utility library that allows working with the hexagon shape and related math.
homepagehttps://github.com/alkavan/hexagon-tiles
repositoryhttps://github.com/alkavan/hexagon-tiles
max_upload_size
id382510
size26,606
Igal Alkon (alkavan)

documentation

README

Hexagon Utility Library

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 and FractionalHex implement PartialEq.
    This means you can do assert_eq!(hex1, hex2) or hex1 == hex2.
  • Point also have PartialEq implementation for f64 using float_eq.
  • I implemented some of the function as traits of Hex and FractionalHex and this means you can do hex1.add(hex2) or hex1.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.

Commit count: 2

cargo fmt