1use crate::{Command, Event, State, Vec}; 2 3pub trait Logic<S, E, C> 4where 5 S: State, 6 E: Copy, 7 C: Clone + PartialEq, 8{ 9 fn step(state: &mut S, event: Event<E>, commands: &mut Vec<Command<C>, 16>); 10}