pub struct ChallengeManager {
pub daily_challenge: Option<Challenge>,
pub weekly_challenge: Option<Challenge>,
pub completed_challenges: HashSet<String>,
/* private fields */
}Expand description
Manages active and completed challenges
Fields§
§daily_challenge: Option<Challenge>Currently active daily challenge
weekly_challenge: Option<Challenge>Currently active weekly challenge
completed_challenges: HashSet<String>Set of completed challenge IDs
Implementations§
Source§impl ChallengeManager
impl ChallengeManager
Sourcepub fn get_daily_challenge(&mut self) -> Challenge
pub fn get_daily_challenge(&mut self) -> Challenge
Get or generate today’s daily challenge
Sourcepub fn get_weekly_challenge(&mut self) -> Challenge
pub fn get_weekly_challenge(&mut self) -> Challenge
Get or generate this week’s weekly challenge
Sourcepub fn complete_challenge(&mut self, challenge_id: String)
pub fn complete_challenge(&mut self, challenge_id: String)
Mark a challenge as completed
Sourcepub fn is_challenge_completed(&self, challenge_id: &str) -> bool
pub fn is_challenge_completed(&self, challenge_id: &str) -> bool
Check if a challenge has been completed
Sourcepub fn weekly_completions(&self) -> usize
pub fn weekly_completions(&self) -> usize
Get all challenges completed this week
Sourcepub fn is_daily_completed(&self) -> bool
pub fn is_daily_completed(&self) -> bool
Check if today’s daily challenge is completed
Sourcepub fn is_weekly_completed(&self) -> bool
pub fn is_weekly_completed(&self) -> bool
Check if this week’s weekly challenge is completed
Trait Implementations§
Source§impl Clone for ChallengeManager
impl Clone for ChallengeManager
Source§fn clone(&self) -> ChallengeManager
fn clone(&self) -> ChallengeManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ChallengeManager
impl Debug for ChallengeManager
Source§impl Default for ChallengeManager
impl Default for ChallengeManager
Source§impl<'de> Deserialize<'de> for ChallengeManager
impl<'de> Deserialize<'de> for ChallengeManager
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ChallengeManager
impl RefUnwindSafe for ChallengeManager
impl Send for ChallengeManager
impl Sync for ChallengeManager
impl Unpin for ChallengeManager
impl UnwindSafe for ChallengeManager
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