public class AchievementHandler
extends java.lang.Object
Constructor and Description |
---|
AchievementHandler(javafx.stage.Stage owner)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
void |
addAchievement(Achievement achievement)
fügt ein Achievement zur Liste hinzu
|
void |
checkAllIncrementalAchievements()
überprüft alle inkrementierbaren Achievements, ob sie ihren Endwert erreicht bzw. überschritten haben
Wenn ja, wird der Status auf UNLOCKED gesetzt und eine Notification am unteren rechten Bildschrimrand geöffnet,
sowie ein Sound abgespielt.
|
void |
clearAchievementsList()
Löscht die gesamte Achievementliste
|
javafx.scene.layout.AnchorPane |
getAchievementList()
gibt eine AnchorPane zurück, die eine ListView beinhaltet
diese stellt die Achievements mit Hilfe der AchievementCell dar
|
java.util.ArrayList<Achievement> |
getAchievements()
gibt die Achievementliste zurück
|
int |
getNumberofAchievements()
gibt die Anzahl aller Achievements zurück
|
int |
getNumberOfLockedAchievements()
gibt die Anzahl der nicht freigeschalteten Achievements zurück
|
int |
getNumberOfUnlockedAchievements()
gibt die Anzahl der freigeschalteten Achievements zurück
|
javafx.scene.layout.AnchorPane |
getSummary()
gibt eine AnchorPane zurück, die die Zusammenfassung aller Achievements anzeigt
(Bsp.: 5/10 Achievements freigeschaltet = 50%)
|
void |
incrementAchievement(int position,
int value)
Erhöht das angegebene Achievement um die angegebene Anzahl von Einheiten
|
void |
loadAchievements()
liest die Achievements aus einer Datei ein
(Speicherort wird festgelegt mit setPath())
|
void |
removeAchievement(int position)
entfernt das Achievement an der gegebenen Position aus der Liste
|
void |
resetAchievement(int position)
Setzt das angegebene Achievement zurück
--> Status wird auf LOCKED gesetzt
--> wenn inkrementierbar, dann wird er aktuelle Wert auf den Startwert gesetzt *
|
void |
resetAllAchievements()
setzt alle Achievements zurück
|
void |
saveAchievements()
speichert die Achievements in eine Datei ab
(Speicherort wird festgelegt mit setPath())
|
void |
saveAndLoad()
speichert und lädt die Achievements
(nützlich nach Veränderung eines Achievements während des Spiels)
|
void |
setPath(java.lang.String path)
setzt den Pfad zum Lesen und Speichern der Achievementsdatei
|
void |
unlockAchievement(int position)
schaltet das angegebene Achievement frei
(Notification erscheint am unteren rechten Bildschrimrand und ein Sound wird abgespielt.
|
public AchievementHandler(javafx.stage.Stage owner)
owner
- Stage - Ownerpublic void setPath(java.lang.String path)
path
- public void addAchievement(Achievement achievement)
achievement
- public void clearAchievementsList()
public java.util.ArrayList<Achievement> getAchievements()
public void removeAchievement(int position)
position
- int - Position, die gelöscht werden sollpublic int getNumberofAchievements()
public int getNumberOfUnlockedAchievements()
public int getNumberOfLockedAchievements()
public javafx.scene.layout.AnchorPane getAchievementList()
public javafx.scene.layout.AnchorPane getSummary()
public void checkAllIncrementalAchievements()
public void incrementAchievement(int position, int value) throws NotIncrementalAchievementException, java.lang.IndexOutOfBoundsException
position
- int - Position des Achievementsvalue
- - Anzahl der Einheiten um die das Achievement erhöht werden sollNotIncrementalAchievementException
- - wenn as Achievement nicht inkrementierbar istjava.lang.IndexOutOfBoundsException
- - falls die angegebene Position nicht im Bereich der Liste liegtpublic void unlockAchievement(int position)
position
- int - Positionpublic void resetAchievement(int position)
position
- public void resetAllAchievements()
public void saveAchievements() throws java.lang.IllegalArgumentException, java.lang.Exception
java.lang.IllegalArgumentException
- - falls kein Pfad gesetzt wurdejava.lang.Exception
- - falls beim Speichern ein Fehler auftrittpublic void loadAchievements() throws java.lang.IllegalArgumentException, java.lang.Exception
java.lang.IllegalArgumentException
- - falls kein Pfad gesetzt wurdejava.lang.Exception
- - falls beim Lesen ein Fehler auftrittpublic void saveAndLoad() throws java.lang.IllegalArgumentException, java.lang.Exception
java.lang.IllegalArgumentException
- - falls kein Pfad gesetzt wurdejava.lang.Exception
- - falls beim Lesen ein Fehler auftritt