cardinal-kernel 0.1.1

Headless, deterministic rules engine for turn-based, TCG-like games.
Documentation
use rand::{Rng, SeedableRng};
use rand_pcg::Pcg64;

pub struct GameRng {
    rng: Pcg64,
}

impl GameRng {
    pub fn new(seed: u64) -> Self {
        Self {
            rng: Pcg64::seed_from_u64(seed),
        }
    }

    pub fn generate<T>(&mut self) -> T
    where
        rand::distributions::Standard: rand::distributions::Distribution<T>,
    {
        self.rng.r#gen()
    }
}