Rajout Javadoc

This commit is contained in:
Bamba TOP 2024-10-27 20:05:00 +01:00
parent be742537cb
commit 54b7bf78fd

@ -3,18 +3,37 @@ package controller;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.Point; import java.awt.Point;
/**
* La classe CameraController gère le contrôle de la caméra dans l'interface utilisateur pour une vue basée sur un
* panneau de grille. Elle permet de déplacer la vue par un glissement de souris, en mettant à jour les offsets de vue
* dans le contexte de jeu (GameContext).
*/
public class CameraController implements CameraControllerListener { public class CameraController implements CameraControllerListener {
private Point mouseDragStart = null; private Point mouseDragStart = null;
private GameContext context; private GameContext context;
private JPanel gridPanel; private JPanel gridPanel;
/**
* Constructeur de la classe CameraController.
* Initialise les écouteurs de souris pour activer le déplacement de la vue par glissement.
*
* @param gridPanel le panneau de grille à afficher et manipuler par le contrôleur de caméra
* @param context le contexte de jeu utilisé pour stocker et gérer l'offset de la vue
*/
public CameraController(JPanel gridPanel, GameContext context) { public CameraController(JPanel gridPanel, GameContext context) {
this.gridPanel = gridPanel; this.gridPanel = gridPanel;
this.context = context; this.context = context;
setupMouseDragToMove(gridPanel); // Initialise les écouteurs pour gérer le déplacement setupMouseDragToMove(gridPanel); // Initialise les écouteurs pour gérer le déplacement
} }
/**
* Met à jour le décalage de la vue dans le contexte de jeu avec les valeurs fournies.
* Puisque l'offset est mis à jour, la grille est repeinte pour refléter les nouvelles coordonnées.
*
* @param deltaX le décalage horizontal de la vue
* @param deltaY le décalage vertical de la vue
*/
@Override @Override
public void updateViewOffset(int deltaX, int deltaY) { public void updateViewOffset(int deltaX, int deltaY) {
// Met à jour uniquement l'offset dans GameContext // Met à jour uniquement l'offset dans GameContext
@ -26,26 +45,50 @@ public class CameraController implements CameraControllerListener {
System.out.println("Nouvel offset dans GameContext : " + context.getOffset()); System.out.println("Nouvel offset dans GameContext : " + context.getOffset());
} }
/**
* Initialise les écouteurs de souris pour détecter et gérer les événements de glissement de la souris sur le panneau.
*
* @param gridPanel le panneau de grille pour lequel activer le glissement de la souris
*/
private void setupMouseDragToMove(JPanel gridPanel) { private void setupMouseDragToMove(JPanel gridPanel) {
gridPanel.addMouseListener(new MousePressHandler(this)); gridPanel.addMouseListener(new MousePressHandler(this));
gridPanel.addMouseMotionListener(new MouseDragHandler(this)); gridPanel.addMouseMotionListener(new MouseDragHandler(this));
} }
/**
* Définit le point de départ du glissement de la souris.
*
* @param point le point initial le glissement de la souris commence
*/
@Override @Override
public void setMouseDragStart(Point point) { public void setMouseDragStart(Point point) {
this.mouseDragStart = point; this.mouseDragStart = point;
} }
/**
* Récupère le point de départ du glissement de la souris.
*
* @return le point de départ du glissement de la souris
*/
@Override @Override
public Point getMouseDragStart() { public Point getMouseDragStart() {
return mouseDragStart; return mouseDragStart;
} }
/**
* Réinitialise le point de départ du glissement de la souris à null, indiquant la fin du glissement.
*/
@Override @Override
public void resetMouseDragStart() { public void resetMouseDragStart() {
this.mouseDragStart = null; this.mouseDragStart = null;
} }
/**
* Récupère le décalage actuel de la vue depuis le contexte de jeu.
*
* @return le point représentant l'offset actuel de la vue
*/
public Point getViewOffset() { public Point getViewOffset() {
return context.getOffset(); return context.getOffset();
} }