useAchievementEngine
useAchievementEngine():
AchievementEngine
Defined in: src/hooks/useAchievementEngine.ts:39
Hook to access the injected AchievementEngine instance (NEW event-based pattern)
IMPORTANT: This hook only works when Provider has an externally created engine injected via the engine prop.
Do NOT use this hook with the old achievements prop pattern - use useAchievements() instead.
Returns
AchievementEngine instance
Example
// Create engine outside React
import { AchievementEngine } from 'achievements-engine';
const myEngine = new AchievementEngine({
achievements: config,
eventMapping: { 'userScored': 'score', 'levelUp': 'level' },
storage: 'local'
});
// Inject into Provider
<AchievementProvider engine={myEngine}>
<App />
</AchievementProvider>
function App() {
const engine = useAchievementEngine();
engine.emit('userScored', 100);
engine.emit('levelUp', 5);
}
Throws
Error if used with old achievements prop pattern
Throws
Error if used outside AchievementProvider
Since
3.8.0