Skip to main content

EffectTrait

Trait EffectTrait 

Source
pub trait EffectTrait: Any {
    // Required methods
    fn id(&self) -> Id;
    fn run(&self) -> bool;
    fn add_observer(&self, id: Id);
    fn clear_observers(&self) -> HashSet<Id>;
    fn as_any(&self) -> &dyn Any;

    // Provided method
    fn priority(&self) -> EffectPriority { ... }
}

Required Methods§

Source

fn id(&self) -> Id

Source

fn run(&self) -> bool

Source

fn add_observer(&self, id: Id)

Source

fn clear_observers(&self) -> HashSet<Id>

Source

fn as_any(&self) -> &dyn Any

Provided Methods§

Source

fn priority(&self) -> EffectPriority

Implementors§

Source§

impl<T, F> EffectTrait for Effect<T, F>
where T: 'static, F: Fn(Option<T>) -> T + 'static,

Source§

impl<T, I, C, U> EffectTrait for UpdaterEffect<T, I, C, U>
where T: 'static, I: 'static, C: Fn(Option<T>) -> (I, T) + 'static, U: Fn(I, T) -> T + 'static,