style: ja pots mouret pel carrusel de posar nom mantenint la direccio apretada (ja no vas lletra a lletra)

This commit is contained in:
2025-10-22 19:55:02 +02:00
parent ce54b10abb
commit ef1a514c9b
3 changed files with 23 additions and 10 deletions

View File

@@ -9,6 +9,7 @@
#include "animated_sprite.hpp" // Para AnimatedSprite
#include "asset.hpp" // Para Asset
#include "audio.hpp" // Para Audio
#include "cooldown.hpp" // Para Cooldown
#include "input.hpp" // Para Input
#include "input_types.hpp" // Para InputAction
#include "manage_hiscore_table.hpp" // Para ManageHiScoreTable, HiScoreEntry
@@ -22,6 +23,7 @@ Player::Player(const Config& config)
: player_sprite_(std::make_unique<AnimatedSprite>(config.texture.at(0), config.animations.at(0))),
power_sprite_(std::make_unique<AnimatedSprite>(config.texture.at(4), config.animations.at(1))),
enter_name_(std::make_unique<EnterName>()),
cooldown_(std::make_unique<Cooldown>(0.300F, 0.140F)),
hi_score_table_(config.hi_score_table),
glowing_entry_(config.glowing_entry),
stage_info_(config.stage_info),
@@ -150,15 +152,19 @@ void Player::setInputEnteringName(Input::Action action) {
}
break;
case Input::Action::RIGHT:
if (!enter_name_->nameIsFull()) {
enter_name_->incIndex();
playSound("service_menu_move.wav");
if (!isShowingName() && !enter_name_->nameIsFull()) {
if (cooldown_->tryConsumeOnHeld()) {
enter_name_->incIndex();
playSound("service_menu_move.wav");
}
}
break;
case Input::Action::LEFT:
if (!enter_name_->nameIsFull()) {
enter_name_->decIndex();
playSound("service_menu_move.wav");
if (!isShowingName() && !enter_name_->nameIsFull()) {
if (cooldown_->tryConsumeOnHeld()) {
enter_name_->decIndex();
playSound("service_menu_move.wav");
}
}
break;
case Input::Action::START:
@@ -171,6 +177,7 @@ void Player::setInputEnteringName(Input::Action action) {
}
break;
default:
cooldown_->onReleased();
break;
}
name_entry_idle_time_accumulator_ = 0.0F;
@@ -543,6 +550,7 @@ void Player::update(float delta_time) {
updateContinueCounter(delta_time); // Sistema de continue
updateEnterNameCounter(delta_time); // Sistema de name entry
updateShowingName(delta_time); // Sistema de showing name
cooldown_->update(delta_time);
}
void Player::passShowingName() {