Class AchievementsHelper
java.lang.Object
com.deco2800.game.components.achievements.AchievementsHelper
public class AchievementsHelper
extends java.lang.Object
An achievement helper class which tracks properties across
the game and has a built-in event handler. This is similar
to an analytics system found in many software applications.
Triggering events:
AchievementsHelper.getInstance().trackItemPickedUpEvent();
AchievementsHelper.getInstance().trackSpaceshipAvoidSuccess();
Listening for events:
// Listening for events
AchievementsHelper.getInstance().getEvents()
.addListener(AchievementsHelper.EVENT_UNLOCKED_ACHIEVEMENT_DISPLAYED);
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
EVENT_ACHIEVEMENT_BONUS_TRIGGERED
static java.lang.String
EVENT_ADD_BONUS_GOLD
static java.lang.String
EVENT_HEALTH
static java.lang.String
EVENT_ITEM_PICKED_UP
static java.lang.String
EVENT_SPACESHIP_AVOIDED
static java.lang.String
EVENT_UNLOCKED_ACHIEVEMENT_DISPLAYED
static java.lang.String
EVENT_UNLOCKED_ACHIEVEMENT_DISPOSE
static java.lang.String
ITEM_FIRST_AID
static java.lang.String
ITEM_GOLD_COIN
-
Method Summary
Modifier and Type Method Description EventHandler
getEvents()
Access to the event handler objectstatic AchievementsHelper
getInstance()
The class implements the singleton pattern.void
trackAchievementDisplayed(BaseAchievementConfig achievement)
Triggers an event when an achievement popup is being showed mid gamevoid
trackAddBonusGold(int gold)
Triggers an event when the bonus gold needs to be addedvoid
trackAddBonusGold(BaseAchievementConfig achievement)
Triggers an event when the bonus gold needs to be addedvoid
trackBonusPoints(int bonusPoints)
Triggers an event when a new bonus point event is encounteredvoid
trackHealthEvent(int health)
Tracks changes in the health property of the player and triggers an event for the achievements systemvoid
trackItemPickedUpEvent()
Triggers an event when an item is picked up for the achievements systemvoid
trackItemPickedUpEvent(java.lang.String itemName)
Triggers an event when a first aid item is picked up by the playervoid
trackSpaceshipAvoidSuccess()
Triggers an event when the spaceship boss was avoided with successvoid
trackUnlockedAchievementDisposed()
Triggers an event when an achievement being displayed mid game is being disposed
-
Field Details
-
EVENT_ITEM_PICKED_UP
public static final java.lang.String EVENT_ITEM_PICKED_UP- See Also:
- Constant Field Values
-
EVENT_HEALTH
public static final java.lang.String EVENT_HEALTH- See Also:
- Constant Field Values
-
EVENT_ACHIEVEMENT_BONUS_TRIGGERED
public static final java.lang.String EVENT_ACHIEVEMENT_BONUS_TRIGGERED- See Also:
- Constant Field Values
-
EVENT_SPACESHIP_AVOIDED
public static final java.lang.String EVENT_SPACESHIP_AVOIDED- See Also:
- Constant Field Values
-
EVENT_UNLOCKED_ACHIEVEMENT_DISPLAYED
public static final java.lang.String EVENT_UNLOCKED_ACHIEVEMENT_DISPLAYED- See Also:
- Constant Field Values
-
EVENT_UNLOCKED_ACHIEVEMENT_DISPOSE
public static final java.lang.String EVENT_UNLOCKED_ACHIEVEMENT_DISPOSE- See Also:
- Constant Field Values
-
EVENT_ADD_BONUS_GOLD
public static final java.lang.String EVENT_ADD_BONUS_GOLD- See Also:
- Constant Field Values
-
ITEM_FIRST_AID
public static final java.lang.String ITEM_FIRST_AID- See Also:
- Constant Field Values
-
ITEM_GOLD_COIN
public static final java.lang.String ITEM_GOLD_COIN- See Also:
- Constant Field Values
-
-
Method Details
-
getInstance
The class implements the singleton pattern. It creates an instance of itself if it does not exist and returns it. Events can be tracked and listened to, through the instance.- Returns:
- instance AchievementHelper class singleton
-
getEvents
Access to the event handler object- Returns:
- handler
-
trackItemPickedUpEvent
public void trackItemPickedUpEvent()Triggers an event when an item is picked up for the achievements system -
trackHealthEvent
public void trackHealthEvent(int health)Tracks changes in the health property of the player and triggers an event for the achievements system- Parameters:
health
- the player's health
-
trackBonusPoints
public void trackBonusPoints(int bonusPoints)Triggers an event when a new bonus point event is encountered- Parameters:
bonusPoints
- the bonus points
-
trackItemPickedUpEvent
public void trackItemPickedUpEvent(java.lang.String itemName)Triggers an event when a first aid item is picked up by the player- Parameters:
itemName
- name of the item
-
trackAchievementDisplayed
Triggers an event when an achievement popup is being showed mid game- Parameters:
achievement
- unlocked achievement being displayed mid game
-
trackSpaceshipAvoidSuccess
public void trackSpaceshipAvoidSuccess()Triggers an event when the spaceship boss was avoided with success -
trackAddBonusGold
Triggers an event when the bonus gold needs to be added -
trackAddBonusGold
public void trackAddBonusGold(int gold)Triggers an event when the bonus gold needs to be added -
trackUnlockedAchievementDisposed
public void trackUnlockedAchievementDisposed()Triggers an event when an achievement being displayed mid game is being disposed
-