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
conf: UniverseConf
cell_mutator: fn(_: usize, _: &[Cell<C>]) -> Option<C>
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))
seq: usize
cells: Vec<Cell<C>>
entities: EntityContainer<C, E, M>
average_actions_per_cycle: usize
total_actions: usize
average_unique_entities_modified_per_cycle: usize
total_entity_modifications: usize
Methods
impl<C: CellState, E: EntityState<C>, M: MutEntityState, CA: CellAction<C>, EA: EntityAction<C, E>> Universe<C, E, M, CA, EA>
[src]
fn new(
conf: UniverseConf,
gen: &mut Generator<C, E, M, CA, EA>,
cell_mutator: fn(_: usize, _: &[Cell<C>]) -> Option<C>,
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))
) -> Universe<C, E, M, CA, EA>
conf: UniverseConf,
gen: &mut Generator<C, E, M, CA, EA>,
cell_mutator: fn(_: usize, _: &[Cell<C>]) -> Option<C>,
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))
) -> Universe<C, E, M, CA, EA>
fn uninitialized(universe_size: usize) -> Self
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]
C: Display,
E: Display,