A pluggable platforming controller for game-toolkit: fluid, snappy movement (jump buffer, coyote time, wall jumps, dashes, climbing, rolls, ...) with presets, and an animation state graph that follows it.
//! [`Driver`]: the plug between a subject and an animator's parameters.
usesuper::Params;/// Writes parameter values from a subject `S`, once per update before the animator runs.
/// Any `FnMut(&S, &mut Params)` closure is a driver.
pubtraitDriver<S: ?Sized> {/// Set `params` from `subject`: bools and floats every time, triggers when something
/// happened.
fndrive(&mutself, subject:&S, params:&mut Params);}impl<S:?Sized, F: FnMut(&S, &mutParams)> Driver<S>forF{fndrive(&mutself, subject:&S, params:&mut Params){self(subject, params);}}