Achievements Important Events - UQdeco2800/2021-ext-studio-2 GitHub Wiki

Description

The AchievementsHelper class has its own event handler which tracks and emits important events related to the Achievements Ecosystem.

Design Pattern Used: Singleton, Event Driven

Location: AchievementsHelper.java

Guide: Important Events Emitted

This table is for other feature teams who want to integrate their features with the achievements system and get access to important events happening in the Achievements ecosystem.

Event Name Description Payload Type Payload Description
EVENT_ITEM_PICKED_UP The event when an item is picked up. Optionally carries the item name in the payload. Item names currently tracked are documented below. String Name of the item. Example: goldCoin
EVENT_HEALTH The event tracks changes to the player's health. int The updated health of the player.
EVENT_ACHIEVEMENT_BONUS_TRIGGERED When achievement related bonus points are added to the in game score. int The bonus points carried by the achievement which was unlocked mid-game.
EVENT_SPACESHIP_AVOIDED When the boss spaceship has been avoided.
EVENT_UNLOCKED_ACHIEVEMENT_DISPLAYED When an achievement is being displayed on the screen. Note that the unlock time and display time of each achievement may differ because each achievement displays itself on the in game screen for 2 seconds before disappearing. The GUI is enqueued in an AsyncTaskQueue which has been documented seperately. BaseAchievementConfig The achievement object which was unlocked. This object contains all the necessary metadata of the achievement like the name, type, bonus points, unlock conditions etc.

Sample Usage: Achievement tracking

AchievementsHelper.getInstance().getEvents().addListener(AchievementsHelper.EVENT_ACHIEVEMENT_UNLOCKED, this::doStuff);

Sample Usage: Item tracking

EVENT_ITEM_PICKED_UP The event when an item is picked up. Optionally carries the item name in the payload. Item names currently tracked are documented below. String Name of the item. Example: firstAid
ITEM_FIRST_AID The first aids which are spawned throughout the game area. Name of the item: firstAid
ITEM_GOLD_COIN The gold coins which are spawned throughout the game area. Name of the item: goldCoin

Sample Usage:

AchievementsHelper.getInstance().getEvents().addListener(AchievementsHelper.EVENT_ITEM_PICKED_UP, (itemName) -> doStuff());
⚠️ **GitHub.com Fallback** ⚠️