pub struct DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: for<'a> Fn(&'a AchievementContext<'_, Player, State, Trigger>) -> DerivedCtx<'a, C> + Send + Sync + 'static,
E: for<'a> Fn(&'a Player, &'a C) -> ExtractResult<V> + Send + Sync + 'static,
V: Eq + Hash + 'static,{ /* private fields */ }Expand description
Evaluator that collects distinct V values from recent client bloops.
This evaluator awards the current or all participating players when the
collected values reach the min_required count.
Trait Implementations§
Source§impl<Player, State, Trigger, V, C, DC, E> Debug for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: for<'a> Fn(&'a AchievementContext<'_, Player, State, Trigger>) -> DerivedCtx<'a, C> + Send + Sync + 'static,
E: for<'a> Fn(&'a Player, &'a C) -> ExtractResult<V> + Send + Sync + 'static,
V: Eq + Hash + 'static,
impl<Player, State, Trigger, V, C, DC, E> Debug for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: for<'a> Fn(&'a AchievementContext<'_, Player, State, Trigger>) -> DerivedCtx<'a, C> + Send + Sync + 'static,
E: for<'a> Fn(&'a Player, &'a C) -> ExtractResult<V> + Send + Sync + 'static,
V: Eq + Hash + 'static,
Source§impl<Player, State, Trigger, V, C, DC, E> Evaluator<Player, State, Trigger> for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: for<'a> Fn(&'a AchievementContext<'_, Player, State, Trigger>) -> DerivedCtx<'a, C> + Send + Sync + 'static,
E: for<'a> Fn(&'a Player, &'a C) -> ExtractResult<V> + Send + Sync + 'static,
V: Eq + Hash + 'static,
impl<Player, State, Trigger, V, C, DC, E> Evaluator<Player, State, Trigger> for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: for<'a> Fn(&'a AchievementContext<'_, Player, State, Trigger>) -> DerivedCtx<'a, C> + Send + Sync + 'static,
E: for<'a> Fn(&'a Player, &'a C) -> ExtractResult<V> + Send + Sync + 'static,
V: Eq + Hash + 'static,
Source§fn evaluate(
&self,
ctx: &AchievementContext<'_, Player, State, Trigger>,
) -> impl Into<EvalResult>
fn evaluate( &self, ctx: &AchievementContext<'_, Player, State, Trigger>, ) -> impl Into<EvalResult>
Evaluate the achievement for the given context.
Auto Trait Implementations§
impl<Player, State, Trigger, V, C, DC, E> Freeze for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>
impl<Player, State, Trigger, V, C, DC, E> RefUnwindSafe for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: RefUnwindSafe,
E: RefUnwindSafe,
Player: RefUnwindSafe,
State: RefUnwindSafe,
Trigger: RefUnwindSafe,
V: RefUnwindSafe,
impl<Player, State, Trigger, V, C, DC, E> Send for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>
impl<Player, State, Trigger, V, C, DC, E> Sync for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>
impl<Player, State, Trigger, V, C, DC, E> Unpin for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>
impl<Player, State, Trigger, V, C, DC, E> UnsafeUnpin for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: UnsafeUnpin,
E: UnsafeUnpin,
impl<Player, State, Trigger, V, C, DC, E> UnwindSafe for DistinctValuesEvaluator<Player, State, Trigger, V, C, DC, E>where
DC: UnwindSafe,
E: UnwindSafe,
Player: UnwindSafe,
State: UnwindSafe,
Trigger: UnwindSafe,
V: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Erasable for T
impl<T> Erasable for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more