Package model.entities.enemies
Class EnemyManagerModel
java.lang.Object
model.entities.enemies.EnemyManagerModel
La classe
EnemyManagerModel
gestisce tutti i nemici nel gioco, inclusi
il loro stato, la posizione e le interazioni con il giocatore. È implementata come
un singleton per garantire un'unica istanza durante il ciclo di vita dell'applicazione.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArrayList
<DrunkModel> private ArrayList
<EnemyModel> private ArrayList
<HidegonsModel> private static EnemyManagerModel
private ArrayList
<InvaderModel> private int
private boolean
private int
private LevelManagerModel
private ArrayList
<MaitaModel> private ArrayList
<MonstaModel> private Random
private boolean
private ArrayList
<ZenChanModel> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Costruttore privato per inizializzare il gestore dei nemici. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Controolla se i nemici in bolla quando vengono fatti scoppiare stanno toccando altre bolle o nemiciprivate void
Controlla le collisioni tra i nemici e aggiorna le loro posizioni.private void
Controlla le collisioni tra il cibo e il giocatore.private void
Controlla se tutti i nemici sono stati sconfitti e carica il livello successivo se necessario.private void
Controlla il timer per la fine del livello e carica il livello successivo se necessario.private void
Crea un array generale di nemici combinando tutti i nemici attivi nel livello corrente.getFoods()
static EnemyManagerModel
Restituisce l'istanza singleton della classeEnemyManagerModel
.private PlayerModel
private void
handleActiveEnemy
(EnemyModel enemy) Gestisce un nemico attivo, aggiornandone lo stato e controllando le collisioni con il giocatore.private void
Gestisce la collisione tra un nemico e il giocatore.private void
handleInactiveEnemy
(EnemyModel enemy) Gestisce un nemico inattivo e la sua morte.void
Inizializza gli array di nemici e cibo per il livello attuale.void
setTimeFrozen
(boolean timeFrozen) private void
spawnFood
(EnemyModel enemyModel) Genera cibo quando un nemico muore.void
update()
Aggiorna lo stato di tutti i nemici, controllando collisioni e posizioni.
-
Field Details
-
instance
-
levelManagerModel
-
maitas
-
zenChans
-
hidegons
-
invaders
-
monstas
-
drunks
-
enemies
-
foods
-
random
-
levelEndTimer
private boolean levelEndTimer -
levelEndTick
private int levelEndTick -
levelEndTimerDuration
private int levelEndTimerDuration -
timeFrozen
private boolean timeFrozen
-
-
Constructor Details
-
EnemyManagerModel
private EnemyManagerModel()Costruttore privato per inizializzare il gestore dei nemici.
-
-
Method Details
-
getInstance
Restituisce l'istanza singleton della classeEnemyManagerModel
.- Returns:
- l'istanza singleton di
EnemyManagerModel
-
initEnemyAndFoodArrays
public void initEnemyAndFoodArrays()Inizializza gli array di nemici e cibo per il livello attuale. -
createGeneralEnemiesArray
private void createGeneralEnemiesArray()Crea un array generale di nemici combinando tutti i nemici attivi nel livello corrente. -
update
public void update()Aggiorna lo stato di tutti i nemici, controllando collisioni e posizioni. -
checkFoodCollision
private void checkFoodCollision()Controlla le collisioni tra il cibo e il giocatore. -
checkLevelEndTimer
private void checkLevelEndTimer()Controlla il timer per la fine del livello e carica il livello successivo se necessario. -
checkEnemiesCollisionAndUpdatePos
private void checkEnemiesCollisionAndUpdatePos()Controlla le collisioni tra i nemici e aggiorna le loro posizioni. -
handleActiveEnemy
Gestisce un nemico attivo, aggiornandone lo stato e controllando le collisioni con il giocatore.- Parameters:
enemy
- il nemico attivo da gestire
-
handleInactiveEnemy
Gestisce un nemico inattivo e la sua morte.- Parameters:
enemy
- il nemico inattivo da gestire
-
handleCollisionWithPlayer
Gestisce la collisione tra un nemico e il giocatore.- Parameters:
enemy
- il nemico con cui il giocatore ha colliso
-
checkCollisionWithOtherBubbles
Controolla se i nemici in bolla quando vengono fatti scoppiare stanno toccando altre bolle o nemici- Parameters:
enemy1
-
-
spawnFood
Genera cibo quando un nemico muore.- Parameters:
enemyModel
- il modello del nemico che ha generato il cibo
-
checkIfAllEnemiesAreDead
private void checkIfAllEnemiesAreDead()Controlla se tutti i nemici sono stati sconfitti e carica il livello successivo se necessario. -
getPlayerModel
-
getEnemies
-
getFoods
-
setTimeFrozen
public void setTimeFrozen(boolean timeFrozen)
-