Treballant en scoreboard::fillPanelTextures

This commit is contained in:
2025-02-06 20:58:15 +01:00
parent 44e4ca490d
commit 559210652f
11 changed files with 194 additions and 134 deletions

View File

@@ -58,7 +58,7 @@ void Player::init()
score_ = 0;
score_multiplier_ = 1.0f;
cool_down_ = 10;
enter_name_->init();
enter_name_->init(last_enter_name_);
// Establece la posición del sprite
player_sprite_->clear();
@@ -148,6 +148,7 @@ void Player::setInputEnteringName(InputType input)
enter_name_->decIndex();
break;
case InputType::START:
last_enter_name_ = getRecordName();
break;
default:
break;
@@ -449,6 +450,7 @@ void Player::update()
updateInvulnerable();
updateContinueCounter();
updateEnterNameCounter();
updateShowingName();
updateScoreboard();
}
@@ -474,7 +476,7 @@ void Player::updateScoreboard()
case PlayerState::ENTERING_NAME:
case PlayerState::ENTERING_NAME_GAME_COMPLETED:
{
Scoreboard::get()->setRecordName(getScoreBoardPanel(), enter_name_->getName());
Scoreboard::get()->setRecordName(getScoreBoardPanel(), enter_name_->getCurrentName());
Scoreboard::get()->setSelectorPos(getScoreBoardPanel(), getRecordNamePos());
break;
}
@@ -525,6 +527,13 @@ void Player::setPlayingState(PlayerState state)
setScoreboardMode(ScoreboardMode::ENTER_NAME);
break;
}
case PlayerState::SHOWING_NAME:
{
showing_name_ticks_ = SDL_GetTicks();
setScoreboardMode(ScoreboardMode::SHOW_NAME);
Scoreboard::get()->setRecordName(scoreboard_panel_, last_enter_name_);
break;
}
case PlayerState::DYING:
{
// Activa la animación de morir
@@ -712,6 +721,19 @@ void Player::updateEnterNameCounter()
}
}
// Actualiza el estado de SHOWING_NAME
void Player::updateShowingName()
{
if (playing_state_ == PlayerState::SHOWING_NAME)
{
constexpr int TICKS_SPEED = 5000;
if (SDL_GetTicks() - enter_name_ticks_ > TICKS_SPEED)
{
game_completed_ ? setPlayingState(PlayerState::LEAVING_SCREEN) : setPlayingState(PlayerState::CONTINUE);
}
}
}
// Decrementa el contador de continuar
void Player::decContinueCounter()
{