Trait Generate

Source
trait Generate {
    // Required methods
    fn gen_gender(rng: &mut impl Rng) -> Gender;
    fn gen_age_years(rng: &mut impl Rng) -> u16;
    fn gen_years_from_age(rng: &mut impl Rng, age: &Age) -> u16;
    fn age_from_years(years: u16) -> Age;
    fn gen_size(rng: &mut impl Rng, age_years: u16, gender: &Gender) -> Size;

    // Provided method
    fn regenerate(rng: &mut impl Rng, npc: &mut NpcData) { ... }
}

Required Methods§

Source

fn gen_gender(rng: &mut impl Rng) -> Gender

Source

fn gen_age_years(rng: &mut impl Rng) -> u16

Source

fn gen_years_from_age(rng: &mut impl Rng, age: &Age) -> u16

Source

fn age_from_years(years: u16) -> Age

Source

fn gen_size(rng: &mut impl Rng, age_years: u16, gender: &Gender) -> Size

Provided Methods§

Source

fn regenerate(rng: &mut impl Rng, npc: &mut NpcData)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Generate for initiative_core::world::npc::species::dragonborn::Species

Source§

impl Generate for initiative_core::world::npc::species::dwarf::Species

Source§

impl Generate for initiative_core::world::npc::species::elf::Species

Source§

impl Generate for initiative_core::world::npc::species::gnome::Species

Source§

impl Generate for initiative_core::world::npc::species::half_elf::Species

Source§

impl Generate for initiative_core::world::npc::species::half_orc::Species

Source§

impl Generate for initiative_core::world::npc::species::halfling::Species

Source§

impl Generate for initiative_core::world::npc::species::human::Species

Source§

impl Generate for initiative_core::world::npc::species::tiefling::Species