Treballant en globalInputs::update()
This commit is contained in:
@@ -14,18 +14,8 @@
|
||||
namespace globalInputs
|
||||
{
|
||||
// Variables
|
||||
std::vector<int> service_pressed_counter;
|
||||
|
||||
// Inicializa variables
|
||||
void init()
|
||||
{
|
||||
const auto num_inputs = Input::get()->getNumControllers() + 1;
|
||||
service_pressed_counter.reserve(num_inputs);
|
||||
for (int i = 0; i < num_inputs; ++i)
|
||||
{
|
||||
service_pressed_counter.push_back(0);
|
||||
}
|
||||
}
|
||||
int service_pressed_counter = 0;
|
||||
bool service_pressed = false;
|
||||
|
||||
// Termina
|
||||
void quit(section::Options code)
|
||||
@@ -34,11 +24,13 @@ namespace globalInputs
|
||||
auto code_found = stringInVector(Notifier::get()->getCodes(), exit_code);
|
||||
if (code_found)
|
||||
{
|
||||
// Si la notificación de salir está activa, cambia de sección
|
||||
section::name = section::Name::QUIT;
|
||||
section::options = code;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Si la notificación de salir no está activa, muestra la notificación
|
||||
#ifdef ARCADE
|
||||
const int index = code == section::Options::QUIT_WITH_CONTROLLER ? 116 : 94;
|
||||
Notifier::get()->showText({lang::getText(index), std::string()}, -1, exit_code);
|
||||
@@ -87,7 +79,6 @@ namespace globalInputs
|
||||
return Asset::get()->get("en_UK.txt");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Obtiene una cadena a partir de un lang::Code
|
||||
@@ -195,17 +186,9 @@ namespace globalInputs
|
||||
// OnScreenHelp
|
||||
if (Input::get()->checkInput(InputType::SERVICE, INPUT_ALLOW_REPEAT, InputDeviceToUse::KEYBOARD))
|
||||
{
|
||||
service_pressed_counter[0]++;
|
||||
|
||||
if (service_pressed_counter[0] >= 3000)
|
||||
{
|
||||
OnScreenHelp::get()->toggleState();
|
||||
service_pressed_counter[0] = 0;
|
||||
}
|
||||
service_pressed = true;
|
||||
return;
|
||||
}
|
||||
|
||||
service_pressed_counter[0] = 0;
|
||||
}
|
||||
|
||||
// Mandos
|
||||
@@ -255,18 +238,30 @@ namespace globalInputs
|
||||
// OnScreenHelp
|
||||
if (Input::get()->checkInput(InputType::SERVICE, INPUT_ALLOW_REPEAT, InputDeviceToUse::CONTROLLER, i))
|
||||
{
|
||||
service_pressed_counter[i + 1]++;
|
||||
|
||||
if (service_pressed_counter[i + 1] >= 3000)
|
||||
{
|
||||
OnScreenHelp::get()->toggleState();
|
||||
service_pressed_counter[i + 1] = 0;
|
||||
}
|
||||
service_pressed = true;
|
||||
return;
|
||||
}
|
||||
|
||||
service_pressed_counter[i + 1] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Actualiza variables
|
||||
void update()
|
||||
{
|
||||
if (service_pressed)
|
||||
{
|
||||
++service_pressed_counter;
|
||||
if (service_pressed_counter >= 3000)
|
||||
{
|
||||
OnScreenHelp::get()->toggleState();
|
||||
service_pressed_counter = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
service_pressed_counter = 0;
|
||||
}
|
||||
|
||||
service_pressed = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user