Package controller.inputs
Class MouseInputs
java.lang.Object
controller.inputs.MouseInputs
- All Implemented Interfaces:
MouseListener,MouseMotionListener,EventListener
La classe MouseInputs gestisce gli eventi del mouse, come click, movimenti e
trascinamenti, per diverse schermate e stati del gioco. Implementa
MouseMotionListener e MouseListener per rispondere agli input dell'utente.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DeathScreenViewprivate GamePausedScreenViewprivate booleanprivate LevelEditorViewprivate LevelManagerModelprivate LevelSelectorViewprivate MenuViewprivate UserStateView -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidblockButtonClick(BlockButtonView button) private voidcheckPlayerButtonClick(int currentTileX, int currentTileY) Gestisce il click del pulsante giocatore per impostare la posizione di spawn del giocatore nel livello corrente.private voidVerifica quali pulsanti dell'interfaccia utente sono stati premuti e imposta lo stato dei pulsanti corrispondenti.private booleancheckRoofAndBottomTile(int currentTileY) Controlla se il blocco o la piastrella si trova in corrispondenza del tetto o del pavimento del livello e se il pulsante gomma o giocatore è attivo.private voidGestisce il click sui pulsanti dell'editor, controllando se l'utente ha premuto su un pulsante di blocco o nemico e attivando l'azione corrispondente.private voidVerifica e modifica i blocchi e i nemici del livello corrente a seconda delle interazioni dell'utente con il mouse.private voidVerifica quali pulsanti dell'editor sono stati premuti e imposta lo stato dei pulsanti corrispondenti, come il pulsante di salvataggio, il pulsante gomma o il pulsante giocatore.private voidenemyButtonClick(EnemyButtonView button) private voidprivate EditButtonModelprivate EditorButtonModelprivate int[][]private int[][]private ChangePageButtonModelprivate Pointprivate ChangePageButtonModelprivate QuitButtonModelprivate RestartButtonModelprivate SaveButtonModelprivate SaveButtonModelprivate StartButtonModelprivate XButtonModelprivate booleanprivate booleanprivate <T extends CustomButtonView>
booleanisIn(T button, MouseEvent e) Controlla se il mouse si trova all'interno del perimetro di un pulsante.private booleanvoidGestisce gli eventi di click del mouse.voidvoidvoidvoidGestisce il movimento del mouse per aggiornare lo stato di hover (passaggio del mouse) sui pulsanti.voidGestisce gli eventi di pressione del pulsante del mouse.voidGestisce gli eventi di rilascio del pulsante del mouse.private voidprivate voidsetEditButtonHover(boolean hover) private voidsetEditButtonPressed(boolean pressed) private voidsetEraserButtonPressed(boolean pressed) private voidsetLevelEditorBlockIndex(int index) private voidsetLevelEditorEnemyIndex(int index) private voidsetNextLvlButtonHover(boolean hover) private voidsetNextLvlButtonPressed(boolean pressed) private voidsetPlayerButtonPressed(boolean pressed) private voidsetPrevLvlButtonHover(boolean hover) private voidsetPrevLvlButtonPressed(boolean pressed) private voidsetSaveButtonHover(boolean hover) private voidsetSaveButtonPressed(boolean pressed) private voidsetXButtonHover(boolean hover) private voidsetXButtonPressed(boolean pressed) private voidxButtonClick(XButtonModel xButtonModel) Ripristina i dati del livello corrente utilizzando le informazioni memorizzate nel modello del pulsante X.
-
Field Details
-
levelEditorView
-
levelManagerModel
-
levelSelectorView
-
deathScreenView
-
userStateView
-
gamePausedScreenView
-
justChangedScreen
private boolean justChangedScreen
-
-
Constructor Details
-
MouseInputs
public MouseInputs()Costruttore della classe MouseInputs. Inizializza le varie viste e il modello utilizzati durante il gioco.
-
-
Method Details
-
isIn
Controlla se il mouse si trova all'interno del perimetro di un pulsante.- Type Parameters:
T- Il tipo del pulsante personalizzato che estende CustomButtonView.- Parameters:
button- Il pulsante da controllare.e- L'evento del mouse che contiene la posizione corrente del mouse.- Returns:
- true se il mouse si trova all'interno dei confini del pulsante, altrimenti false.
-
mouseClicked
Gestisce gli eventi di click del mouse.- Specified by:
mouseClickedin interfaceMouseListener- Parameters:
e- L'evento del mouse che contiene le informazioni sul click.
-
mousePressed
Gestisce gli eventi di pressione del pulsante del mouse. A seconda dello stato del gioco, verifica quale pulsante è stato premuto e imposta lo stato appropriato.- Specified by:
mousePressedin interfaceMouseListener- Parameters:
e- L'evento del mouse che contiene le informazioni sul pulsante premuto.
-
mouseReleased
Gestisce gli eventi di rilascio del pulsante del mouse. Quando l'utente rilascia un pulsante del mouse, vengono eseguite azioni come il cambiamento di stato del gioco o la modifica dei dati dell'utente.- Specified by:
mouseReleasedin interfaceMouseListener- Parameters:
e- L'evento del mouse che contiene le informazioni sul rilascio.
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseMoved
Gestisce il movimento del mouse per aggiornare lo stato di hover (passaggio del mouse) sui pulsanti.- Specified by:
mouseMovedin interfaceMouseMotionListener- Parameters:
e- L'evento del mouse che contiene le informazioni sul movimento.
-
xButtonClick
Ripristina i dati del livello corrente utilizzando le informazioni memorizzate nel modello del pulsante X.- Parameters:
xButtonModel- Il modello del pulsante X che contiene i dati del livello, i nemici e la posizione del giocatore.
-
checkPressedUser
Verifica quali pulsanti dell'interfaccia utente sono stati premuti e imposta lo stato dei pulsanti corrispondenti. Gestisce l'interazione con la pagina successiva, precedente e la creazione di un nuovo utente.- Parameters:
e- L'evento del mouse contenente le coordinate e le informazioni sul click.
-
editorCheckEditedTiles
Verifica e modifica i blocchi e i nemici del livello corrente a seconda delle interazioni dell'utente con il mouse. Gestisce il click su piastrelle del livello, aggiornando i dati del livello e dei nemici.- Parameters:
e- L'evento del mouse contenente le informazioni sul click.
-
checkRoofAndBottomTile
private boolean checkRoofAndBottomTile(int currentTileY) Controlla se il blocco o la piastrella si trova in corrispondenza del tetto o del pavimento del livello e se il pulsante gomma o giocatore è attivo.- Parameters:
currentTileY- La posizione Y della piastrella corrente.- Returns:
- true se è un blocco di tetto o pavimento, altrimenti false.
-
checkPlayerButtonClick
private void checkPlayerButtonClick(int currentTileX, int currentTileY) Gestisce il click del pulsante giocatore per impostare la posizione di spawn del giocatore nel livello corrente.- Parameters:
currentTileX- La posizione X della piastrella corrente.currentTileY- La posizione Y della piastrella corrente.
-
editorCheckClicks
Gestisce il click sui pulsanti dell'editor, controllando se l'utente ha premuto su un pulsante di blocco o nemico e attivando l'azione corrispondente.- Parameters:
e- L'evento del mouse contenente le informazioni sul click.
-
editorCheckPressed
Verifica quali pulsanti dell'editor sono stati premuti e imposta lo stato dei pulsanti corrispondenti, come il pulsante di salvataggio, il pulsante gomma o il pulsante giocatore.- Parameters:
e- L'evento del mouse contenente le informazioni sul click.
-
enemyButtonClick
-
blockButtonClick
-
getStartButton
-
getEditorButton
-
getRestartButton
-
getQuitButton
-
getXButton
-
getSaveButton
-
getEditButton
-
getLevelData
private int[][] getLevelData() -
getEnemiesData
private int[][] getEnemiesData() -
setPlayerButtonPressed
private void setPlayerButtonPressed(boolean pressed) -
setEraserButtonPressed
private void setEraserButtonPressed(boolean pressed) -
setNextLvlButtonPressed
private void setNextLvlButtonPressed(boolean pressed) -
setPrevLvlButtonPressed
private void setPrevLvlButtonPressed(boolean pressed) -
isPlayerButtonPressed
private boolean isPlayerButtonPressed() -
setLevelEditorBlockIndex
private void setLevelEditorBlockIndex(int index) -
setLevelEditorEnemyIndex
private void setLevelEditorEnemyIndex(int index) -
isEraserButtonPressed
private boolean isEraserButtonPressed() -
setXButtonPressed
private void setXButtonPressed(boolean pressed) -
setSaveButtonPressed
private void setSaveButtonPressed(boolean pressed) -
setEditButtonPressed
private void setEditButtonPressed(boolean pressed) -
setSaveButtonHover
private void setSaveButtonHover(boolean hover) -
setNextLvlButtonHover
private void setNextLvlButtonHover(boolean hover) -
setPrevLvlButtonHover
private void setPrevLvlButtonHover(boolean hover) -
setEditButtonHover
private void setEditButtonHover(boolean hover) -
setXButtonHover
private void setXButtonHover(boolean hover) -
getSaveButtonModel
-
eraserButtonClick
private void eraserButtonClick() -
playerButtonClick
private void playerButtonClick() -
getPlayerSpawn
-
getNextPageButton
-
getPrevPageButton
-
isGameWon
private boolean isGameWon()
-