Coverage Summary for Class: AchievementManager (io.github.unisim)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
| AchievementManager |
100%
(1/1)
|
55.6%
(5/9)
|
72.2%
(13/18)
|
69%
(20/29)
|
package io.github.unisim;
import java.util.ArrayList;
import java.util.List;
public class AchievementManager {
private List<Achievements> achievements;
private static AchievementManager instance;
private String rewardOutput;
public AchievementManager() {
achievements = new ArrayList<>();
loadAchievements();
}
//create an instance of the achievementmanager class to be used to unlock achievements
public static AchievementManager getInstance() {
if (instance == null) {
instance = new AchievementManager();
}
return instance;
}
//create every single achievement
private void loadAchievements() {
achievements.add(new Achievements("First building placed", "Place your first building"));
achievements.add(new Achievements("Veteran builder", "Score 10000 points in one game"));
achievements.add(new Achievements("F is for fun", "Place 4 Recreational buildings"));
}
//unlock achievements when criteria is met
public void checkAchievement(String event) {
switch (event) {
case "FIRST_BUILDING_PLACED":
achievements.get(0).unlock();
break;
case "VETERAN":
achievements.get(1).unlock();
break;
case "F_FOR_FUN":
achievements.get(2).unlock();
break;
}
}
public List<Achievements> getAchievements() {
return achievements;
}
public void displayAchievements() {
for (Achievements achievement : achievements) {
System.out.println(achievement.getName() + ": " + (achievement.isUnlocked() ? "Unlocked" : "Locked"));
}
}
public String getReward() {
return rewardOutput;
}
public void setReward(String input) {
this.rewardOutput = input;
}
public void resetAchievements() {
achievements = new ArrayList<>();
loadAchievements();
}
}