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 DeathScreenView
private GamePausedScreenView
private boolean
private LevelEditorView
private LevelManagerModel
private LevelSelectorView
private MenuView
private UserStateView
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
blockButtonClick
(BlockButtonView button) private void
checkPlayerButtonClick
(int currentTileX, int currentTileY) Gestisce il click del pulsante giocatore per impostare la posizione di spawn del giocatore nel livello corrente.private void
Verifica quali pulsanti dell'interfaccia utente sono stati premuti e imposta lo stato dei pulsanti corrispondenti.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.private void
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.private void
Verifica e modifica i blocchi e i nemici del livello corrente a seconda delle interazioni dell'utente con il mouse.private void
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.private void
enemyButtonClick
(EnemyButtonView button) private void
private EditButtonModel
private EditorButtonModel
private int[][]
private int[][]
private ChangePageButtonModel
private Point
private ChangePageButtonModel
private QuitButtonModel
private RestartButtonModel
private SaveButtonModel
private SaveButtonModel
private StartButtonModel
private XButtonModel
private boolean
private boolean
private <T extends CustomButtonView>
booleanisIn
(T button, MouseEvent e) Controlla se il mouse si trova all'interno del perimetro di un pulsante.private boolean
void
Gestisce gli eventi di click del mouse.void
void
void
void
Gestisce il movimento del mouse per aggiornare lo stato di hover (passaggio del mouse) sui pulsanti.void
Gestisce gli eventi di pressione del pulsante del mouse.void
Gestisce gli eventi di rilascio del pulsante del mouse.private void
private void
setEditButtonHover
(boolean hover) private void
setEditButtonPressed
(boolean pressed) private void
setEraserButtonPressed
(boolean pressed) private void
setLevelEditorBlockIndex
(int index) private void
setLevelEditorEnemyIndex
(int index) private void
setNextLvlButtonHover
(boolean hover) private void
setNextLvlButtonPressed
(boolean pressed) private void
setPlayerButtonPressed
(boolean pressed) private void
setPrevLvlButtonHover
(boolean hover) private void
setPrevLvlButtonPressed
(boolean pressed) private void
setSaveButtonHover
(boolean hover) private void
setSaveButtonPressed
(boolean pressed) private void
setXButtonHover
(boolean hover) private void
setXButtonPressed
(boolean pressed) private void
xButtonClick
(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:
mouseClicked
in 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:
mousePressed
in 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:
mouseReleased
in interfaceMouseListener
- Parameters:
e
- L'evento del mouse che contiene le informazioni sul rilascio.
-
mouseEntered
- Specified by:
mouseEntered
in interfaceMouseListener
-
mouseExited
- Specified by:
mouseExited
in interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDragged
in interfaceMouseMotionListener
-
mouseMoved
Gestisce il movimento del mouse per aggiornare lo stato di hover (passaggio del mouse) sui pulsanti.- Specified by:
mouseMoved
in 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()
-