1 stable release
1.0.0 | Jul 21, 2024 |
---|
#1888 in Game dev
Used in 2 crates
27KB
694 lines
reactor_random
A simple Rust library for generating random values using fastrand. Basically just a fastrand wrapper for a few additional types at the moment. Likely to grow over time. Designed for use with Bevy.
Can generate random values for:
- i8-128
- u8-128
- f32 & f64
- Vec2/3/4, UVec2/3/4, and IVec2/3/4 (with the
bevy
feature) - Color (with the
bevy
feature) - Degrees, Radians,
Position2D
, and all the compasses
Can generate random values in a range for:
- i8-128
- u8-128
- f32 & f64
- Vec2/3/4, UVec2/3/4, and IVec2/3/4 (with the
bevy
feature) - Degrees, Radians, and
Position2D
Can shuffle anything Clone + IntoIterator<T> + FromIterator<T>
as well as returning a random element, or random index.
Also includes a WeightedTable
class for use in weighted random generation.
Usage
Add to your Cargo.toml
. Use reactor_random::*;
to get access to the traits that define random generation.
Determinism
This crate relies on fastrand
which is "deterministic". That is to say, for a given seed value, assuming system order is deterministic, the results will be deterministic.
For guaranteed determinism, any system that uses the features of this crate will need to be .chain()
ed together when added to a Bevy app.
Dependencies
~22MB
~418K SLoC