La tabla de puntuació ja mostra amb altre color la puntuació que s'acaba d'afegir
fix: la tabla de punts no guardava a disc el estat de 1CC de cada entrada
This commit is contained in:
@@ -1370,11 +1370,11 @@ void Game::pause(bool value)
|
||||
}
|
||||
|
||||
// Añade una puntuación a la tabla de records
|
||||
void Game::addScoreToScoreBoard(const std::string &name, int score, bool one_credit_continue)
|
||||
void Game::addScoreToScoreBoard(const std::shared_ptr<Player> &player)
|
||||
{
|
||||
const auto entry = HiScoreEntry(trim(name), score);
|
||||
const auto entry = HiScoreEntry(trim(player->getRecordName()), player->getScore(), player->get1CC());
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
|
||||
manager->add(entry);
|
||||
options.game.last_hi_score_entry.at(player->getId() - 1) = manager->add(entry);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
hi_score_.name = options.game.hi_score_table.front().name;
|
||||
}
|
||||
@@ -1627,6 +1627,7 @@ void Game::handlePlayerContinue(const std::shared_ptr<Player> &player)
|
||||
if (input_->checkInput(InputType::START, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index))
|
||||
{
|
||||
player->setPlayingState(PlayerState::PLAYING);
|
||||
player->addCredit();
|
||||
}
|
||||
|
||||
// Disminuye el contador de continuación si se presiona cualquier botón de disparo.
|
||||
@@ -1634,7 +1635,10 @@ void Game::handlePlayerContinue(const std::shared_ptr<Player> &player)
|
||||
input_->checkInput(InputType::FIRE_CENTER, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index) ||
|
||||
input_->checkInput(InputType::FIRE_RIGHT, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index))
|
||||
{
|
||||
player->decContinueCounter();
|
||||
if (player->getContinueCounter() < 8)
|
||||
{
|
||||
player->decContinueCounter();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1649,7 +1653,7 @@ void Game::handleNameInput(const std::shared_ptr<Player> &player)
|
||||
if (player->getRecordNamePos() == NAME_LENGHT - 1)
|
||||
{
|
||||
player->setInput(InputType::START);
|
||||
addScoreToScoreBoard(player->getRecordName(), player->getScore(), player->get1CC());
|
||||
addScoreToScoreBoard(player);
|
||||
const auto state = player->getPlayingState();
|
||||
player->setPlayingState(state == PlayerState::ENTERING_NAME ? PlayerState::CONTINUE : PlayerState::LEAVING_SCREEN);
|
||||
}
|
||||
@@ -1673,7 +1677,7 @@ void Game::handleNameInput(const std::shared_ptr<Player> &player)
|
||||
else if (input_->checkInput(InputType::START, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index))
|
||||
{
|
||||
player->setInput(InputType::START);
|
||||
addScoreToScoreBoard(player->getRecordName(), player->getScore(), player->get1CC());
|
||||
addScoreToScoreBoard(player);
|
||||
const auto state = player->getPlayingState();
|
||||
player->setPlayingState(state == PlayerState::ENTERING_NAME ? PlayerState::CONTINUE : PlayerState::LEAVING_SCREEN);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user