intrepid_core/action/actionable.rs
1use super::ActiveAction;
2
3#[dyn_clonable::clonable]
4/// Allows actions to be type erased into dynamic boxed containers.
5pub trait Actionable<GivenState>: Clone + Send + Sync + 'static {
6 /// Take a given boxed action and state and return an active actionable.
7 fn into_actionable(self: Box<Self>, state: GivenState) -> ActiveAction;
8}