Els panels del marcador ara canvien de mode a petició i no a cada frame

This commit is contained in:
2024-10-06 20:19:43 +02:00
parent 6ea6f85e3e
commit a95e5077e3
5 changed files with 90 additions and 19 deletions

View File

@@ -6,6 +6,7 @@
#include <vector> // for vector
#include "utils.h" // for circle_t
#include "enter_name.h"
#include "scoreboard.h"
#include <memory>
class AnimatedSprite;
class Texture;
@@ -77,6 +78,7 @@ private:
std::string name; // Nombre del jugador
std::string recordName; // Nombre del jugador para l atabla de mejores puntuaciones
int controllerIndex; // Indice del array de mandos que utilizará para moverse
bool demo; // Para que el jugador sepa si está en el modo demostración
// Actualiza el circulo de colisión a la posición del jugador
void shiftColliders();
@@ -90,9 +92,18 @@ private:
// Indica si el jugador se puede dibujar
bool isRenderable() const;
// Actualiza el panel del marcador
void updateScoreboard();
// Comprueba si la puntuación entra en la tabla de mejores puntuaciones
bool IsEligibleForHighScore();
// Cambia el modo del marcador
void setScoreboardMode(scoreboardMode mode);
public:
// Constructor
Player(int id, float x, int y, SDL_Rect *playArea, std::vector<Texture *> texture, std::vector<std::vector<std::string> *> animations);
Player(int id, float x, int y, bool demo, SDL_Rect *playArea, std::vector<Texture *> texture, std::vector<std::vector<std::string> *> animations);
// Destructor
~Player() = default;