swarm / village/src/sim_config.rs

raw file 438 bytes
//! Shared sim configuration: the 100 personas.

use bevy::prelude::*;

use crate::persona::{self, Persona};

#[derive(Resource)]
pub struct VillageConfig {
    pub people: Vec<Persona>,
}

pub fn setup(mut commands: Commands) {
    let seed: u64 = std::env::var("VILLAGE_SEED")
        .ok()
        .and_then(|s| s.parse().ok())
        .unwrap_or(42);
    commands.insert_resource(VillageConfig { people: persona::generate(seed) });
}