Package model.objects.items.powerups
Class ClockModel
java.lang.Object
model.objects.CustomObjectModel
model.objects.items.powerups.PowerUpModel
model.objects.items.powerups.ClockModel
La classe
ClockModel
estende PowerUpModel
rappresenta un power-up di tipo orologio.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
Il contatore per il tempo trascorso dal momento dell'attivazione dell'effetto.private final int
Il tempo massimo in tick per la durata dell'effetto.Fields inherited from class model.objects.items.powerups.PowerUpModel
despawnTick, despawnTimer, pickedUp, score, type
-
Constructor Summary
ConstructorsConstructorDescriptionClockModel
(float x, float y, int width, int height) Costruttore della classeClockModel
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Applica l'effetto dell'orologio: congela il tempo nel gioco per tutta la durata dell'effetto.void
Annulla l'effetto dell'orologio.void
update()
Aggiorna lo stato dell'orologio.Methods inherited from class model.objects.items.powerups.PowerUpModel
getScore, getType, isPickedUp
-
Field Details
-
effectTick
private int effectTickIl contatore per il tempo trascorso dal momento dell'attivazione dell'effetto. -
effectTimer
private final int effectTimerIl tempo massimo in tick per la durata dell'effetto.- See Also:
-
-
Constructor Details
-
ClockModel
public ClockModel(float x, float y, int width, int height) Costruttore della classeClockModel
.- Parameters:
x
- la coordinata X dell'orologio.y
- la coordinata Y dell'orologio.width
- la larghezza dell'orologio.height
- l'altezza dell'orologio.
-
-
Method Details
-
update
public void update()Aggiorna lo stato dell'orologio. Questo metodo gestisce la durata dell'effetto: incrementa il contatoreeffectTick
e annulla l'effetto dell'orologio se il tempo dell'effetto รจ scaduto.- Overrides:
update
in classPowerUpModel
-
applyEffect
public void applyEffect()Applica l'effetto dell'orologio: congela il tempo nel gioco per tutta la durata dell'effetto. L'effetto viene applicato impostando il flag di congelamento del tempo nelEnemyManagerModel
.- Specified by:
applyEffect
in classPowerUpModel
-
unapplyEffect
public void unapplyEffect()Annulla l'effetto dell'orologio. Ripristina il normale flusso del tempo nel gioco. L'effetto viene annullato impostando il flag di congelamento del tempo nelEnemyManagerModel
a false.- Specified by:
unapplyEffect
in classPowerUpModel
-