pub struct AchievementContext<'a, Player, State, Trigger> {
pub current_bloop: &'a Bloop<Player>,
pub bloop_provider: &'a BloopProvider<Player>,
pub state: &'a State,
/* private fields */
}Expand description
Context used when evaluating and awarding achievements for a specific bloop.
Fields§
§current_bloop: &'a Bloop<Player>The bloop currently being evaluated.
bloop_provider: &'a BloopProvider<Player>Provides access to bloop data for the clients and players.
state: &'a StateAdditional evaluation-specific state.
Implementations§
Source§impl<'a, Player, State, Trigger> AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> AchievementContext<'a, Player, State, Trigger>
pub fn new( current_bloop: &'a Bloop<Player>, bloop_provider: &'a BloopProvider<Player>, state: &'a State, trigger_registry: &'a mut TriggerRegistry<Trigger>, ) -> Self
pub fn global_bloops(&self) -> impl Iterator<Item = &Arc<Bloop<Player>>>
Sourcepub fn client_bloops(&self) -> impl Iterator<Item = &Arc<Bloop<Player>>>
pub fn client_bloops(&self) -> impl Iterator<Item = &Arc<Bloop<Player>>>
Returns the bloop collection for the current bloop’s client.
Sourcepub fn filter_current_player(&self) -> impl Fn(&&Arc<Bloop<Player>>) -> bool
pub fn filter_current_player(&self) -> impl Fn(&&Arc<Bloop<Player>>) -> bool
Returns a filter for bloop collections for the current bloop’s player.
Sourcepub fn filter_within_window(
&self,
duration: Duration,
) -> impl Fn(&&Arc<Bloop<Player>>) -> bool
pub fn filter_within_window( &self, duration: Duration, ) -> impl Fn(&&Arc<Bloop<Player>>) -> bool
Returns a filter for bloop collections for a given duration.
Sourcepub fn award_achievement(&self, achievement_id: Uuid, player_id: Uuid)
pub fn award_achievement(&self, achievement_id: Uuid, player_id: Uuid)
Records that a given achievement should be awarded to a player.
Source§impl<'a, Player, Metadata, Trigger: PartialEq> AchievementContext<'a, Player, Metadata, Trigger>
impl<'a, Player, Metadata, Trigger: PartialEq> AchievementContext<'a, Player, Metadata, Trigger>
Sourcepub fn has_trigger(&self, trigger: Trigger) -> bool
pub fn has_trigger(&self, trigger: Trigger) -> bool
Returns whether a given trigger is active right now.
Trait Implementations§
Auto Trait Implementations§
impl<'a, Player, State, Trigger> !Freeze for AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> RefUnwindSafe for AchievementContext<'a, Player, State, Trigger>where
State: RefUnwindSafe,
impl<'a, Player, State, Trigger> Send for AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> Sync for AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> Unpin for AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> UnsafeUnpin for AchievementContext<'a, Player, State, Trigger>
impl<'a, Player, State, Trigger> UnwindSafe for AchievementContext<'a, Player, State, Trigger>where
State: RefUnwindSafe,
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