Struct minutiae::universe::Universe [] [src]

pub struct Universe<C: CellState, E: EntityState<C>, M: MutEntityState, CA: CellAction<C>, EA: EntityAction<C, E>> {
    pub conf: UniverseConf,
    pub cell_mutator: fn(_: usize, _: &[Cell<C>]) -> Option<C>,
    pub entity_driver: fn(_: usize, _: &Entity<C, E, M>, _: &EntityContainer<C, E, M>, _: &[Cell<C>], _: &mut FnMut(CA, usize), _: &mut FnMut(SelfAction<C, E, EA>), _: &mut FnMut(EA, usize, Uuid)),
    pub seq: usize,
    pub cells: Vec<Cell<C>>,
    pub entities: EntityContainer<C, E, M>,
    pub average_actions_per_cycle: usize,
    pub total_actions: usize,
    pub average_unique_entities_modified_per_cycle: usize,
    pub total_entity_modifications: usize,
    // some fields omitted
}

Fields

Methods

impl<C: CellState, E: EntityState<C>, M: MutEntityState, CA: CellAction<C>, EA: EntityAction<C, E>> Universe<C, E, M, CA, EA>
[src]

Creates a new shell universe without any defined logic designed for use in a hybrid client.

Trait Implementations

impl<C: CellState, E: EntityState<C>, M: MutEntityState, CA: CellAction<C>, EA: EntityAction<C, E>> Debug for Universe<C, E, M, CA, EA> where
    C: Display,
    E: Display
[src]

Formats the value using the given formatter.