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 EnemyManagerModelprivate ArrayList<InvaderModel> private intprivate booleanprivate intprivate LevelManagerModelprivate ArrayList<MaitaModel> private ArrayList<MonstaModel> private Randomprivate booleanprivate ArrayList<ZenChanModel> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateCostruttore privato per inizializzare il gestore dei nemici. -
Method Summary
Modifier and TypeMethodDescriptionvoidControolla se i nemici in bolla quando vengono fatti scoppiare stanno toccando altre bolle o nemiciprivate voidControlla le collisioni tra i nemici e aggiorna le loro posizioni.private voidControlla le collisioni tra il cibo e il giocatore.private voidControlla se tutti i nemici sono stati sconfitti e carica il livello successivo se necessario.private voidControlla il timer per la fine del livello e carica il livello successivo se necessario.private voidCrea un array generale di nemici combinando tutti i nemici attivi nel livello corrente.getFoods()static EnemyManagerModelRestituisce l'istanza singleton della classeEnemyManagerModel.private PlayerModelprivate voidhandleActiveEnemy(EnemyModel enemy) Gestisce un nemico attivo, aggiornandone lo stato e controllando le collisioni con il giocatore.private voidGestisce la collisione tra un nemico e il giocatore.private voidhandleInactiveEnemy(EnemyModel enemy) Gestisce un nemico inattivo e la sua morte.voidInizializza gli array di nemici e cibo per il livello attuale.voidsetTimeFrozen(boolean timeFrozen) private voidspawnFood(EnemyModel enemyModel) Genera cibo quando un nemico muore.voidupdate()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)
-