[][src]Trait minutiae::engine::serial::SerialEngine

pub trait SerialEngine<C: CellState + 'static, E: EntityState<C>, M: MutEntityState, CA: CellAction<C>, EA: EntityAction<C, E>, EI: EntityIterator<C, E, M>, U: Universe<C, E, M>> {
    fn iter_entities(&self, _: &U) -> EI;
fn exec_actions(
        &self,
        _: &mut U,
        _: &[OwnedAction<C, E, CA, EA>],
        _: &[OwnedAction<C, E, CA, EA>],
        _: &[OwnedAction<C, E, CA, EA>]
    );
fn drive_entity(
        &mut self,
        universe_index: usize,
        entity: &Entity<C, E, M>,
        universe: &U,
        cell_action_executor: &mut dyn FnMut(CA, usize),
        self_action_executor: &mut dyn FnMut(SelfAction<C, E, EA>),
        entity_action_executor: &mut dyn FnMut(EA, usize, Uuid)
    ); }

Required methods

fn iter_entities(&self, _: &U) -> EI

fn exec_actions(
    &self,
    _: &mut U,
    _: &[OwnedAction<C, E, CA, EA>],
    _: &[OwnedAction<C, E, CA, EA>],
    _: &[OwnedAction<C, E, CA, EA>]
)

fn drive_entity(
    &mut self,
    universe_index: usize,
    entity: &Entity<C, E, M>,
    universe: &U,
    cell_action_executor: &mut dyn FnMut(CA, usize),
    self_action_executor: &mut dyn FnMut(SelfAction<C, E, EA>),
    entity_action_executor: &mut dyn FnMut(EA, usize, Uuid)
)

Loading content...

Implementors

Loading content...