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.StringEVENT_ACHIEVEMENT_BONUS_TRIGGEREDstatic java.lang.StringEVENT_ADD_BONUS_GOLDstatic java.lang.StringEVENT_HEALTHstatic java.lang.StringEVENT_ITEM_PICKED_UPstatic java.lang.StringEVENT_SPACESHIP_AVOIDEDstatic java.lang.StringEVENT_UNLOCKED_ACHIEVEMENT_DISPLAYEDstatic java.lang.StringEVENT_UNLOCKED_ACHIEVEMENT_DISPOSEstatic java.lang.StringITEM_FIRST_AIDstatic java.lang.StringITEM_GOLD_COIN - 
Method Summary
Modifier and Type Method Description EventHandlergetEvents()Access to the event handler objectstatic AchievementsHelpergetInstance()The class implements the singleton pattern.voidtrackAchievementDisplayed(BaseAchievementConfig achievement)Triggers an event when an achievement popup is being showed mid gamevoidtrackAddBonusGold(int gold)Triggers an event when the bonus gold needs to be addedvoidtrackAddBonusGold(BaseAchievementConfig achievement)Triggers an event when the bonus gold needs to be addedvoidtrackBonusPoints(int bonusPoints)Triggers an event when a new bonus point event is encounteredvoidtrackHealthEvent(int health)Tracks changes in the health property of the player and triggers an event for the achievements systemvoidtrackItemPickedUpEvent()Triggers an event when an item is picked up for the achievements systemvoidtrackItemPickedUpEvent(java.lang.String itemName)Triggers an event when a first aid item is picked up by the playervoidtrackSpaceshipAvoidSuccess()Triggers an event when the spaceship boss was avoided with successvoidtrackUnlockedAchievementDisposed()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 
 -