Achievements Important Events - UQdeco2800/2021-ext-studio-2 GitHub Wiki
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
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. |
AchievementsHelper.getInstance().getEvents().addListener(AchievementsHelper.EVENT_ACHIEVEMENT_UNLOCKED, this::doStuff);
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());