fifty_achievement_engine 0.1.3
fifty_achievement_engine: ^0.1.3 copied to clipboard
Achievement system for Flutter games with condition-based unlocks, progress tracking, and FDL-compliant UI.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.3 - 2026-02-22 #
Fixed #
- Synced CHANGELOG.md with published version history (pub.dev compliance)
0.1.1 #
Fixed #
- AchievementPopup: Added
Material(type: MaterialType.transparency)wrapper to fix yellow underline text issue when displayed via Flutter'sOverlay. Text widgets outside aMaterialancestor exhibit default decoration (yellow underlines in debug mode). This fix ensures proper text rendering in overlay contexts.
Changed #
- Example pages: Converted
basic_achievements,rpg_achievements, andfitness_achievementsexample pages fromColumnwithExpanded(AchievementList)toSingleChildScrollViewwrapping the entire content. TheAchievementListnow usesshrinkWrap: trueandNeverScrollableScrollPhysics(). This allows full-page scrolling as a single unit rather than only the achievement list being scrollable.
0.1.0 #
Initial release of the fifty_achievement_engine package.
Added #
Models
Achievement<T>- Generic achievement model with custom data supportAchievementRarity- 5 rarity tiers (common, uncommon, rare, epic, legendary)AchievementState- 4 states (locked, available, unlocked, claimed)AchievementProgress- Detailed progress tracking data
Conditions
EventCondition- Single event occurrence triggerCountCondition- Cumulative event count requirementThresholdCondition- Stat threshold with comparison operatorsCompositeCondition- AND/OR combination of conditionsTimeCondition- Time-based challenges with optional event requirementSequenceCondition- Ordered event sequences (strict or loose)AchievementContext- Context data for condition evaluation
Controllers
AchievementController<T>- Main controller with:- Event and stat tracking
- Progress calculation
- Unlock detection with callbacks
- Prerequisite chain support
- Filtering and querying
- Session management
Serialization
AchievementSerializer- Serialize/deserialize achievementsAchievementPack<T>- Achievement pack containerProgressData- Serializable progress snapshot- JSON export/import for save games
Widgets (FDL-Compliant)
AchievementCard<T>- Single achievement display with progressAchievementList<T>- Scrollable list with filteringAchievementPopup<T>- Animated unlock notificationAchievementProgressBar- Progress bar widgetAchievementSummary<T>- Points and completion overview
Notes #
- All widgets consume FDL tokens directly (no theme classes)
- Widgets support optional color override parameters
- Full JSON serialization support for conditions and progress
- Generic type support for custom achievement data
