package fr.iutfbleau.projetAgile.Puissance4.Event;

import fr.iutfbleau.projetAgile.Puissance4.Utils.GameStatus;

/**
 * Evenement représentant le changement de status du jeu
 */
public class StatusEvent {
    private GameStatus status;
    private int playerTurn;
    private int playerOneScore;
    private int playerTwoScore;
    private int playerThreeScore;
    
    /**
     * Crée un évènement
     * @param status le status du jeu
     * @param playerTurn le tour du joueur
     * @param playerOneScore le score du joueur 1
     * @param playerTwoScore le score du joueur 2
     * @param playerThreeScore le score du joueur 2
     */
    public StatusEvent(GameStatus status, int playerTurn, int playerOneScore, int playerTwoScore, int playerThreeScore) {
        this.status = status;
        this.playerTurn = playerTurn;
        this.playerOneScore = playerOneScore;
        this.playerTwoScore = playerTwoScore;
        this.playerThreeScore = playerThreeScore;
    }

    /**
     * Retourne le joueur qui a joué
     * @return Le joueur qui a joué
     */
    public GameStatus getStatus() {
        return this.status;
    }

    /**
     * Retourne le tour du joueur
     * @return Le tour du joueur
     */
    public int getPlayerTurn() {
        return this.playerTurn;
    }

    /**
     * Retourne le score du joueur 1
     * @return Le score du joueur 1
     */
    public int getPlayerOneScore() {
        return playerOneScore;
    }

    /**
     * Retourne le score du joueur 2
     * @return Le score du joueur 2
     */
    public int getPlayerTwoScore() {
        return playerTwoScore;
    }

    /**
     * Retourne le score du joueur 3
     * @return Le score du joueur 3
     */
    public int getPlayerThreeScore() {
        return playerThreeScore;
    }
}
